Forum Stats

  • 3,759,510 Users
  • 2,251,557 Discussions
  • 7,870,689 Comments

Discussions

Oracle SQL Developer 21.2.1 (x64) with Oracle Instant Client 19.11 (x64)

debugger.pl
debugger.pl Member Posts: 36 Red Ribbon

Good morning.

While using Oracle SQL Developer 21.2.1 (x64) with Oracle Instant Client 19.11 (x64)

test looks fine:

Testing the Instant Client located at C:\Oracle\Instant Client
Testing client directory ... OK
Testing loading Oracle JDBC driver ... OK
Testing checking Oracle JDBC driver version ... OK
  Driver version: 19.11.0.0.0
Testing testing native OCI library load ... OK
Success!

but when trying to test connection I got the following error:

Status : Failure -Test failed: oracle.jdbc.driver.T2CConnection.connect(Lorg/ietf/jgss/GSSCredential;Ljavax/net/ssl/SSLContext;)V

and here's whole stack trace:

java.lang.NoSuchMethodError: oracle.jdbc.driver.T2CConnection.connect(Lorg/ietf/jgss/GSSCredential;Ljavax/net/ssl/SSLContext;)V
    at oracle.jdbc.driver.T2CDriverExtension.getConnection(T2CDriverExtension.java:66)
    at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691)
    at oracle.dbtools.connections.db.AbstractConnectionCreator.getConnection(AbstractConnectionCreator.java:174)
    at oracle.dbtools.raptor.standalone.connection.RaptorConnectionCreator.getConnectionImpl(RaptorConnectionCreator.java:400)
    at oracle.dbtools.raptor.standalone.connection.RaptorConnectionCreator.getConnection(RaptorConnectionCreator.java:119)
    at oracle.dbtools.raptor.dialogs.conn.ConnectionPrompt$DefaultPrompter.promptForPassword(ConnectionPrompt.java:154)
    at oracle.dbtools.connections.db.PasswordPrompter.promptForPassword(PasswordPrompter.java:15)
    at oracle.dbtools.raptor.dialogs.conn.ConnectionPrompt.promptForPassword(ConnectionPrompt.java:202)
    at oracle.dbtools.connections.db.DatabaseProvider.getConnection(DatabaseProvider.java:354)
    at oracle.dbtools.connections.db.DatabaseProvider.getConnection(DatabaseProvider.java:337)
    at oracle.jdevimpl.db.adapter.CAConnectionCreator.createConnectionImpl(CAConnectionCreator.java:52)
    at oracle.javatools.db.DatabaseFactory.createConnection(DatabaseFactory.java:838)
    at oracle.javatools.db.DatabaseFactory.createDatabase(DatabaseFactory.java:282)
    at oracle.jdeveloper.db.DatabaseConnections.getDatabase(DatabaseConnections.java:656)
    at oracle.dbtools.raptor.utils.Connections$ConnectionInfo.getDatabase(Connections.java:284)
    at oracle.dbtools.raptor.utils.Connections.getConnection(Connections.java:1180)
    at oracle.dbtools.raptor.utils.Connections.getConnection(Connections.java:1166)
    at oracle.dbtools.worksheet.editor.Worksheet$WorksheetController.testConnection(Worksheet.java:681)
    at oracle.dbtools.worksheet.editor.Worksheet$WorksheetController.access$2000(Worksheet.java:526)
    at oracle.dbtools.worksheet.editor.Worksheet$WorksheetController$1.doWork(Worksheet.java:629)
    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)

Strangely, while using Oracle Instant Client 12.2

Testing the Instant Client located at C:\Oracle\Instant Client
Testing client directory ... OK
Testing loading Oracle JDBC driver ... OK
Testing checking Oracle JDBC driver version ... Failed:
  Minimum driver version 19.3 required, specified driver version is 12.2.0.1.0

everything works fine and I got such issue using previous versions of Oracle SQL Developer,

so I am still using Oracle Instant Client 12.2.

Best Regards.

Piotr

Tagged:
«1

Comments

  • thatJeffSmith-Oracle
    thatJeffSmith-Oracle Distinguished Product Manager Posts: 7,986 Employee

    I'm using same versions, 19.11 instant client and 21.2.1 SQL Dev, and my connections are working fine.


    That error stack indicates an issue with encrypted database connections. Can you open a SR with My Oracle Support? My first question would be to ask if you attempt a non-encrypted connection, does it work (guessing 'yes').

  • debugger.pl
    debugger.pl Member Posts: 36 Red Ribbon

    For connecting to the database (all databases I do have access) I am using Kerberos authentication,

    so maybe Oracle Instant Client 19.11 has problem with that.

    Here's how Database -> Advanced looks like:

    While using Oracle Instant Client 19.11 and Authentication Type is set to 'Default' or 'Kerberos' I got the same issue.

    Oracle Instant Client 12.2 is working fine using 'Default' and 'Kerberos' authentication types and only difference is that in 'Default' it asks for credentials.

    Best Regards.

    Piotr

  • thatJeffSmith-Oracle
    thatJeffSmith-Oracle Distinguished Product Manager Posts: 7,986 Employee

    Ok but something somewhere is attempting to bring SSL into the picture. That could be kerberos or not kerberos - it's more about the sqlnet.ora in your Oracle Home I think.

  • debugger.pl
    debugger.pl Member Posts: 36 Red Ribbon

    Here's how sqlnet.ora looks like:

    # Generated by Oracle configuration tools.
    
    # This file is actually generated by netca. But if customers choose to
    # install "Software Only", this file wont exist and without the native
    # authentication, they will not be able to connect to the database on NT.
    
    SQLNET.AUTHENTICATION_SERVICES = (NTS)
    
    SQLNET.KERBEROS5_CC_NAME = OSMSFT://
    
    SQLNET.AUTHENTICATION_SERVICES = (kerberos5pre,kerberos5)
    
    SQLNET.KERBEROS5_CONF = C:\Oracle\Instant Client\network\admin\krb5.conf
    
    SQLNET.KERBEROS5_CONF_MIT = true
    
    NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
    


  • thatJeffSmith-Oracle
    thatJeffSmith-Oracle Distinguished Product Manager Posts: 7,986 Employee

    Thinking on this again, i think kerberos does ssl out-of-the-box...definitely open a SR with MOS...and now I'm curious if your 19.11 SQLPlus can connect with kerberos.

  • debugger.pl
    debugger.pl Member Posts: 36 Red Ribbon

    Strangely, it seems that SQL Plus works:

    C:\>sqlplus /? | more
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Mon Aug 16 20:08:30 2021
    Version 19.11.0.0.0
    
    Copyright (c) 1982, 2020, Oracle.  All rights reserved.
    
    
    SQL*Plus: Release 19.0.0.0.0 - Production
    Version 19.11.0.0.0
    
    Copyright (c) 1982, 2020, Oracle.  All rights reserved.
    
    C:\>sqlplus /@main_server
    
    SQL*Plus: Release 19.0.0.0.0 - Production on Mon Aug 16 20:09:32 2021
    Version 19.11.0.0.0
    
    Copyright (c) 1982, 2020, Oracle.  All rights reserved.
    
    Last Successful login time: Mon Aug 16 2021 20:01:35 +02:00
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.10.0.0.0
    
    SQL> select * from dual;
    
    D
    -
    X
    
    SQL> quit
    Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.10.0.0.0
    


  • debugger.pl
    debugger.pl Member Posts: 36 Red Ribbon

    Ticket was submitted: SR 3-26752683181 and one of the suggested workaround worked.

    Here's summary:

    1. Oracle Instant Client(s) with version newer than 12.2.0.1.0 like the most recent one 19.12 does not work (downloaded from https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html)
    2. Oracle Instant Client 19.3 from Oracle Client installation (https://www.oracle.com/database/technologies/oracle19c-windows-downloads.html) does not work
    3. Oracle Client 19.3 from Oracle Client installation (https://www.oracle.com/database/technologies/oracle19c-windows-downloads.html) works (used Administrator installation option)

    Strangely Oracle SQL Plus does work in all cases, so connection problem applies to Oracle SQL Developer only.

    Final recommendation by Oracle Support was to use the thick client (full client) installation.

    I will still use solution, which still works - Oracle SQL Developer with Oracle Instant Client 12.2.0.1.0

    as it requires minimal installation (just setting ORACLE_HOME environment variable) and its download size is smaller in comparing to full Oracle Client installation.

    I have noticed naming convention difference between Oracle Instant Client, which works and the ones, which does not work, for example:

    1. Oracle Instant Client 12.2.0.1.0 (instantclient-basic-windows.x64-12.2.0.1.0.zip) - does work
    2. Oracle Instant Client 19.12.0.0.0 (instantclient-basic-windows.x64-19.12.0.0.0dbru.zip) - does not work

    Whatever "dbru" suffix means Oracle Instant Clients with that suffix do not work.

    Best Regards.

    Piotr

  • thatJeffSmith-Oracle
    thatJeffSmith-Oracle Distinguished Product Manager Posts: 7,986 Employee

    Thanks Piotr. Support should have filed a bug a bug in addition to giving you a workaround. I'll reach out to them today and make sure that's taken care of.

  • debugger.pl
    debugger.pl Member Posts: 36 Red Ribbon

    I have tried to use the newest Oracle Instant Client 21.3 (instantclient-basic-windows.x64-21.3.0.0.0.zip),

    but got the same issue:

    Status : Failure -Test failed: oracle.jdbc.driver.GeneratedPhysicalConnection$1.<init>([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    java.lang.NoSuchMethodError: oracle.jdbc.driver.GeneratedPhysicalConnection$1.<init>([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        at oracle.jdbc.driver.GeneratedPhysicalConnection.getSystemProperty(GeneratedPhysicalConnection.java:85)
        at oracle.jdbc.driver.GeneratedPhysicalConnection.getSystemPropertySqlTranslationProfile(GeneratedPhysicalConnection.java:52)
        at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:679)
        at oracle.dbtools.connections.db.AbstractConnectionCreator.getConnection(AbstractConnectionCreator.java:174)
        at oracle.dbtools.raptor.standalone.connection.RaptorConnectionCreator.getConnectionImpl(RaptorConnectionCreator.java:400)
        at oracle.dbtools.raptor.standalone.connection.RaptorConnectionCreator.getConnection(RaptorConnectionCreator.java:119)
        at oracle.dbtools.raptor.dialogs.conn.ConnectionPrompt$DefaultPrompter.promptForPassword(ConnectionPrompt.java:154)
        at oracle.dbtools.connections.db.PasswordPrompter.promptForPassword(PasswordPrompter.java:15)
        at oracle.dbtools.raptor.dialogs.conn.ConnectionPrompt.promptForPassword(ConnectionPrompt.java:202)
        at oracle.dbtools.connections.db.DatabaseProvider.getConnection(DatabaseProvider.java:354)
        at oracle.dbtools.connections.db.DatabaseProvider.getConnection(DatabaseProvider.java:337)
        at oracle.jdevimpl.db.adapter.CAConnectionCreator.createConnectionImpl(CAConnectionCreator.java:52)
        at oracle.javatools.db.DatabaseFactory.createConnection(DatabaseFactory.java:838)
        at oracle.javatools.db.DatabaseFactory.createDatabase(DatabaseFactory.java:282)
        at oracle.jdeveloper.db.DatabaseConnections.getDatabase(DatabaseConnections.java:656)
        at oracle.dbtools.raptor.utils.Connections$ConnectionInfo.getDatabase(Connections.java:284)
        at oracle.dbtools.raptor.utils.Connections.getConnection(Connections.java:1180)
        at oracle.dbtools.raptor.utils.Connections.getConnection(Connections.java:1166)
        at oracle.dbtools.worksheet.editor.Worksheet$WorksheetController.testConnection(Worksheet.java:681)
        at oracle.dbtools.worksheet.editor.Worksheet$WorksheetController.access$2000(Worksheet.java:526)
        at oracle.dbtools.worksheet.editor.Worksheet$WorksheetController$1.doWork(Worksheet.java:629)
        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)
    

    I have also checked Oracle SQL Plus:

    C:\>cd "Oracle\Instant Client New"
    
    C:\Oracle\Instant Client New>sqlplus -v
    
    SQL*Plus: Release 21.0.0.0.0 - Production
    Version 21.3.0.0.0
    
    
    C:\Oracle\Instant Client New>sqlplus /@main_server
    
    SQL*Plus: Release 21.0.0.0.0 - Production on Thu Oct 14 10:45:17 2021
    Version 21.3.0.0.0
    
    Copyright (c) 1982, 2021, Oracle.  All rights reserved.
    
    Last Successful login time: Thu Oct 14 2021 09:12:57 +02:00
    
    Connected to:
    Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.10.0.0.0
    
    SQL> select * from dual;
    
    D
    -
    X
    
    SQL> quit
    Disconnected from Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
    Version 19.10.0.0.0
    
    C:\Oracle\Instant Client New>
    

    As we can see Oracle SQL Plus works as expected.

  • thatJeffSmith-Oracle
    thatJeffSmith-Oracle Distinguished Product Manager Posts: 7,986 Employee

    please open a Service Request with My Oracle Support