2

WSO2 Data Services (3.5.1) サーバーを使用して、いくつかの Oracle 12c データベースに接続しています。ただし、レガシーをサポートするには、10g や 8i などの異なるバージョンにも接続する必要があります。

ojdbc14.jarドライバーを使用すると、datasources:
8iworks
10gworksという問題があります
12c: ORA-28040: No matching authentication protocol(バージョン 12 での SHA アルゴリズムの変更による)

ojdbc6.jaror ojdbc7.jar:を使用すると、次のように
10g機能
12c
8iます。

org.wso2.carbon.ndatasource.common.DataSourceException: Error establishing data source connection: 4  
...
Caused by: java.sql.SQLException: 4
    at org.apache.tomcat.jdbc.pool.PooledConnection.connectUsingDriver(PooledConnection.java:290)
    at org.apache.tomcat.jdbc.pool.PooledConnection.connect(PooledConnection.java:182)
    at org.apache.tomcat.jdbc.pool.ConnectionPool.createConnection(ConnectionPool.java:702)
...
Caused by: java.lang.ArrayIndexOutOfBoundsException: 4
    at oracle.jdbc.driver.T4C8TTIdty.<init>(T4C8TTIdty.java:491)
    at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1434)
    at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486)
...

解決策を探しているSQLNET.ALLOWED_LOGON_VERSION=8と、12c データベースの oracle/network/admin/sqlnet.ora ファイルにパラメーターを設定して を使用することで、いくつかの代替手段を見つけましojdbc14.jarたが、インフラストラクチャの制限により、このアプローチは受け入れられません。

DSS で両方のドライバーを同時に使用する方法があるかどうかを知りたいです。おそらく、異なるOracleDriverクラスを拡張するカスタム Java クラスを指定し、DSS クラス ローダーを構成するか、または別のソリューションを使用します。

どんな助けでも大歓迎です。

4

1 に答える 1