Version 19.1 of SQL Developer, SQLcl, Data Modeler, and ORDS are now all available, and you can expect many posts over the next few weeks to cover all the new goodies.

Today I want to highlight some changes we made to how you define your connections.

One change you’ll see right away is a simpler connection dialog:

This is how it looks in version 19.1

The name and color of the connection is up top now, and it’s hopefully less likely you’ll type your password into the username input area by accident!

Proxy User info is moved up top next to the rest of the username stuff – it’s no longer on an advanced pop up dialog.

Now about that Advanced page you still see there, I want to call out a new feature exposed there:

You can now define connections as THICK or THIN.

Previously, SQL Developer would be configured for THICK or THIN connections, application wide, via the ‘Use OCI’ preference on the Advanced page.

If I enable it here, it will mean EVERY Oracle connection going forward will be of type OCI.

Just to back up a bit, your options for connecting to Oracle with our JDBC driver are:

  • thin = PURE JAVA, what most people should be using
  • thick = mix of Java and native compiled libraries via Oracle Client or Instant Client, required for some use cases like RADIUS authentication

And it’s totally fine to usually just go with THIN. Nothing else needed to install or configure.

There are however, some reasons you might need to go ‘thick.’ You can read all about how this works here.

But now, I can have connections in a single instance of SQL Developer going with both THIN and THICK configurations.

If we look at the connection properties for the THICK connection:

ONLY this connection will be THICK

You’ll still need to go about configuring your $ORACLE_HOME or Instant Client in the Advanced Preferences page. And, I still recommend you use the TEST feature, to make sure your OCI connections will be available. The ‘show jdbc’ command ran through our script engine (F5) will also confirm your type of connection.

If you see Success and all OK’s, you should be good to go.
thatjeffsmith
Author

I'm a Master Product Manager at Oracle for Oracle SQL Developer. My mission is to help you and your company be more efficient with our database tools.

2 Comments

  1. He seguido lo que dice en este post sin embargo no puedo resolver el problema.
    Por favor necesito que me ayuden.
    la prueba de conexión dice correcto. sin embargo no puedo consultar nada de la base de Datos, ni explorar nada.
    tengo lo siguiente:
    Servidor
    SQL ORACLE 11.1g
    LINUX REDHAT
    FIREWALL SOHPOS
    Cliente:
    Windows 10
    Cliente Oracle 12
    Cliente VPN de sophos. –> para conectarme con la red remota.
    Hago prueba de consulta de esta forma
    ingreso con cmd en windows.
    sqlplus usuario/[email protected] —> conexión y consulta sin problemas.
    SQL DEVELOPER 19.1

    los errores son:
    Se ha restablecido la conexión a la base de datos. Se ha perdido cualquier estado de sesión o transacción pendiente.

    Se ha producido un error. Haga clic en Detalles para obtener más información que puede resultar útil al diagnosticar o informar de este problema.

    ava.lang.NullPointerException
    at oracle.dbtools.raptor.navigator.db.xml.NavigatorHook.getConnectionType(NavigatorHook.java:252)
    at oracle.dbtools.raptor.navigator.ObjectFactoryRegistry.createFactory(ObjectFactoryRegistry.java:164)
    at oracle.dbtools.raptor.navigator.ObjectFactoryRegistry.getFactory(ObjectFactoryRegistry.java:153)
    at oracle.dbtools.raptor.navigator.db.impl.DatabaseTreeNode.getObjectFactory(DatabaseTreeNode.java:91)
    at oracle.dbtools.raptor.navigator.db.impl.DatabaseTreeNode$LoadTask.doWork(DatabaseTreeNode.java:145)
    at oracle.dbtools.raptor.navigator.db.impl.DatabaseTreeNode$LoadTask.doWork(DatabaseTreeNode.java:119)
    at oracle.dbtools.raptor.backgroundTask.RaptorTask.call(RaptorTask.java:199)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at oracle.dbtools.raptor.backgroundTask.RaptorTaskManager$RaptorFutureTask.run(RaptorTaskManager.java:702)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)

    • thatjeffsmith

      Oracle 11gR1 – is no longer supported. It’s possible the 18c jdbc driver doesn’t like talking to an 11gR1 database.

      Try getting an older version of SQL Developer, like version 3.1, and try that.

      Also, try to upgrade to 11gR2 if not 19c.

Write A Comment