If you are attempting to compile Pro*C code and get the error “PCC-F-02104, Unable to connect to Oracle”, perform the following steps:
Instead of connecting to the Oracle database as
sqlplus userid/password@somelistener.domain.com:1521/MYPRODDB
and then attempting to compile, edit your tnsnames.ora to add the below entry (change appropriately to reflect your database SID or service, listener, port etc.)
MY_DB =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = SOMELISTENER.DOMAIN.COM)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = MYPRODDB)
)
)
Export this entry as follows
export TWO_TASK=MY_DB
And now connect as
sqlplus userid/password
i.e. without specifying the usual connect string.
In case you are wondering about the name “TWO_TASK”, Tom Kyte explains it best:
“because in days gone by – the 1980’s – two tasks (having two tasks working together) just made ‘sense’”.