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’”.