Configure sql developer for oracle using IPC fails with network adapter error

oracleoracle-sql-developer

I have oracle 11 XE installed locally. I can connect on the same machine using sqlplus with sqlplus user/pass. I can also connect using sqlplus user/pass@XE (XE is defined in tnsnames.ora and this connection uses TCP (default). I added an entry in tnsnames that uses IPC (XE_IPC) and I can connect using sqlplus user/pass@XE_IPC. tnsnping XE_IPC succeeds.

SQL Developer connection, when I choose TNS and then XE_IPC from the dropdown, fails with a network adapter error.

My question: how do I configure SQL Developer such that the IPC connection works? Once that works, what is the JDBC connection string that will work?

Here is the rub: my company locks down ports like nobody else, so things like localhost and 127.0.0.1 do not work. This is why I'm using the IPC connection (or at least trying to).

TCP connections using sqlplus, JDBC, and SQL Developer work flawlessly when the server is on another machine.

I tried following Balazs Papp's suggestion. First issue was JDBC version was too low, so I copied ojdbc8.jar from SQL developer JDBC/lib directory to the oracle home JDBC/lib directory that had the other ojdbcX.jar. Passed that test.

Now my error is the native OCI library load failing:

Testing testing native OCI library load ... Failed:
  Error loading the native OCI library
  The native OCI driver could not be loaded. The system propertyjava.library.path contains the entries from the environment variable PATH. Check it to verify that
  the expected native library directory C:\oraclexe\app\oracle\product\11.2.0\server\bin is present and precedes any other client installations.
  java.library.path = C:\usr\bin\sqldeveloper\sqldeveloper\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;c:\oraclexe\app\oracle\prod

There is no obvious way to set java.library.path. \windows\sun\java\bin doesn't exist and is added by SQL Developer. My path starts with C:\oraclexe\app\oracle\product\11.2.0\server\bin, so everything before that is added by SQL developer.

What file(s) is SQL Developer looking for to use the thick client?

When I ignore the error and try his next step, when I click TEST I get "Status: Failure - Test failed: no ocijdbc18 in java.library.path". Sadly, I don't see where ocijdbc18 can be downloaded, and it doesn't exist on my system (I do have ocijdbc11.dll in my server directory.)

Best Answer

This is not IPC, but achieves the same, and you do not even need a listener for this.

  1. Make sure you configure SQL Developer to use an Oracle Client with the OCI/Thick Driver. You can use the installed database home as client, and you can set this in Tools / Preferences / Database / Advanced, e.g:

    enter image description here

  2. When creating the connection, choose Local/Bequeath as connection type, e.g:

    enter image description here