An Oracle Client. To use 'Connect Identifier' you need an Oracle Client.
You can point SQL Developer to any tnsnames file you want, just map a network drive?
I'm trying to understand why SD is any different from any other IDE tool. All succeed in connecting using this setup except SD.
1) I have a thick 11.2 client installed.
2) ldap.ora is pointing to a DIRECTORY_SERVERS=***
3) sqlnet.ora is set to NAMES.DIRECTORY_PATH= (LDAP,TNSNAMES, EZCONNECT)
4) local tnsnames.ora is not used
Every client installed on my machine including sqlplus is happy with this setup. Simply. specifying a connect descriptor. What is about this setup that SD is not liking to return this error? Can I get SD to connect without needing to use a local tnsnames.ora?
The ldap connection option does not work as well. But, I can live with that for now.
Can I get SD to connect without needing to use a local tnsnames.ora?
Sure - use a 'basic' connection type instead of the TNS that you are using.
That will use the Java driver and won't use an ORA file at all.
the only way I found to workaround it is to ... configure it to 'use oracle client'
Are you sure you configured that correctly? You need to...
1. Click the Verify button in the Configure Oracle Client dialog, then ...
2. Exit that modal dialog, move the Preferences dialog out of the way, and check the Oracle Client Test Results - Log
Note that the minimum full or instant client version must be at least 188.8.131.52 and you should see something like...
Testing the Instant Client located at C:\app\gggraham\product\184.108.40.206\instantclient_11_2
Testing client directory ... OK
Testing loading Oracle JDBC driver ... OK
Testing checking Oracle JDBC driver version ... OK
Driver version: 220.127.116.11.0
Testing testing native OCI library load ... OK
Your PATH environment variable needs to point at that Oracle Client before any other directories.
You can also check Help > About > Properties, then filter on oci to make sure the sqldeveloper.oci.available property is true. Also...
both 'network alias' & 'connect identifier' are identical
is not a true statement if you literally mean that. For example, for my tnsnames.ora , if network alias is XE, then the connect identifier value is...
(ADDRESS = (PROTOCOL = TCP)(HOST = GGGRAHAM-T420.us.oracle.com)(PORT = 1521))
(SERVER = DEDICATED)
(SERVICE_NAME = XE)
Hope this helps you if you are determined to use the connect identifier. The OCI/Thick driver must be configured correctly and enabled.