[oracle] "Caused by: java.sql.SQLException: ORA-28040: 일치하는 인증 프로토콜 없음" 해결 방법.

2022. 1. 10. 10:33Database/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