If you require a ‘thick’ connection in SQL Developer 23.1 running on Windows, you’ll need to either:
- Use a 21c Client
- Use the 21c Instant Client with ojdbc11.jar added
SQL Developer 23.1 uses the JDBC API found in ojdbc11 vs ojdb8. While the 21c Client ships with ojdbc11.jar, the Instant Client DOES NOT.
So when you configure SQL Developer 23.1 with an 21c Instant Client, it will fail with something like this when you hit the ‘Test’ button in the preferences.
SQL Developer and our Java/JDBC code base is looking for ojdbc11.jar but it’s not there, only ojdbc8.jar.
The Fix is Simple
- Download ojdbc11.jar from the 21c distribution
- Copy it to your Instant Client
- Restart SQLDev
Download this –
Copy that file to wherever you have your 21c Instant Client on your machine.
Start SQL Developer, make your database connection(s).
Then execute as a script this command in a SQL Worksheet –
What my Path and Preferences look like
For the Instant Client to work, to be available to programs like SQL Developer, you have to sort your OS’s PATH.
Your other questions…
Why do we require a 21c Client and not 19c? Because there are features/fixes there not present in 19c that we require, like for Transparent Application Continuity (TAC). SQL Developer share a ‘commons’ library where connection logic lives that are also used by SQLcl and ORDS, and support for TAC is non-negotiable.
But, there is no 21c Client available for a Mac! Correct, however I expect once 23c is released, an Instant Client will be made available, at least for Intel x86 chip architectures. I can’t make any promises here, so don’t take my word for it, yet.