[oracle] "Caused by: java.sql.SQLException: ORA-28040: 일치하는 인증 프로토콜 없음" 해결 방법.
2022. 1. 10. 10:33ㆍDatabase/oracle
728x90
728x90
-오라클19c 서버로 'JDBC Connection Pool' 수행할 때, 하단의 에러 발생하는 것을 확인.
<<__Exception__>>
jeus.jdbc.connectionpool.ConnectionPoolException: failed to create the connection pool[anylink]
at jeus.jdbc.connectionpool.ConnectionPoolImpl.initialize(ConnectionPoolImpl.java:181)
at jeus.jdbc.connectionpool.ServerSideConnectionPoolInitializer.makeConnectionPool(ServerSideConnectionPoolInitializer.java:43)
at jeus.jdbc.connectionpool.ConnectionPoolManager.createConnectionPool(ConnectionPoolManager.java:51)
at jeus.jdbc.connectionpool.CPObjectFactory.getObjectInstance(CPObjectFactory.java:24)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:321)
at jeus.jndi.JNSContext.lookupInternal(JNSContext.java:584)
at jeus.jndi.JNSContext.lookup(JNSContext.java:539)
at jeus.jndi.JNSContext.lookup(JNSContext.java:528)
at jeus.jndi.JEUSFailoverContext.lookup(JEUSFailoverContext.java:287)
at javax.naming.InitialContext.lookup(InitialContext.java:411)
at anylink.common.util.DbUtil.<clinit>(DbUtil.java:30)
at anylink.batch.BatchUtil.InsertBatchFileLog(BatchUtil.java:109)
at anylink.batch.banca.soap.SoapBatchSender.sendBatch(SoapBatchSender.java:524)
at anylink.batch.AnyLinkBatchRunnable.run(AnyLinkBatchRunnable.java:220)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.sql.SQLException: ORA-28040: 일치하는 인증 프로토콜 없음
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:331)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:283)
at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:278)
at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:288)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:357)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:414)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at oracle.jdbc.pool.OracleDataSource.getPhysicalConnection(OracleDataSource.java:297)
at oracle.jdbc.pool.OracleDataSource.getConnection(OracleDataSource.java:221)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPhysicalConnection(OracleConnectionPoolDataSource.java:157)
at oracle.jdbc.pool.OracleConnectionPoolDataSource.getPooledConnection(OracleConnectionPoolDataSource.java:94)
at jeus.jdbc.queue.JDBCConnectionRepository.createPooledConnection(JDBCConnectionRepository.java:284)
at jeus.jdbc.queue.JDBCConnectionRepository.initConnectionRepository(JDBCConnectionRepository.java:79)
at jeus.jdbc.connectionpool.PooledConnectionProviderImpl.initProvider(PooledConnectionProviderImpl.java:45)
at jeus.jdbc.connectionpool.ConnectionPoolImpl.initialize(ConnectionPoolImpl.java:163)
... 14 more
<<__!Exception__>>
-"Caused by: java.sql.SQLException: ORA-28040: 일치하는 인증 프로토콜 없음" & "Caused by: java.sql.SQLException: ORA-28040: No matching authentication protocol" 에러 발생하는 원인.
- oracle server와 버전 차이가 있는 oracle client에서 oracle server(오라클 12c 버전 이상)에 ojdbc14.jar 라이브러리를 통해서 JDBC Connection할 때, 발생하는 에러.
-"Caused by: java.sql.SQLException: ORA-28040: 일치하는 인증 프로토콜 없음" & "Caused by: java.sql.SQLException: ORA-28040: No matching authentication protocol" 에러 해결 방법.
1.ojdbc 라이브러리 경로($JEUS_HOME/lib/application/은 ojdbc 라이브러리 경로의 예시임.)의 "ojdbc14.jar"를 "ojdbc6.jar" or "ojdbc7.jar"로 변경하여 해결.
[$JEUS_HOME/lib/application] $ ls | grep ojdbc
ojdbc14.jar_back
ojdbc6.jar_back
ojdbc7.jar
-"ojdbc6.jar", "ojdbc7.jar" 다운로드 경로.
728x90
728x90