일부 Oracle 12c 데이터베이스와 연결하기 위해 WSO2 Data Services (3.5.1) 서버를 사용하고 있습니다. 그러나 레거시를 지원하려면 10g 및 8i와 같은 다른 버전에도 연결해야합니다.DSS가 다른 Oracle 데이터베이스 버전에 연결할 수 없습니다.
ORA-28040: No matching authentication protocol
(버전 12에서 SHA 알고리즘에 의한 변경)을 ojdbc6.jar
또는 사용 :
8i
이
12c
가 제공
10g
작품을 작동합니다
문제가 ojdbc14.jar
드라이버, 데이터 소스를 사용하여,있다 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)
...
, 나는 12C 데이터베이스에서 오라클/네트워크/관리자/SQLNET.ORA 파일에서 매개 변수 SQLNET.ALLOWED_LOGON_VERSION=8
을 설정하고 ojdbc14.jar
를 사용하여, 몇 가지 대안을 찾았지만 인한 인프라했습니다 이 접근법은 허용되지 않습니다.
DSS에서 두 드라이버를 동시에 사용하는 방법이 있는지, 다른 OracleDriver
클래스를 확장하는 사용자 정의 Java 클래스를 지정하고 DSS 클래스 로더를 구성하는 방법이 있는지 알고 싶습니다. 다른 해결책이 필요합니다.
도움을 주시면 감사하겠습니다.