카테고리 없음

ORA-28040 No matching authentication protocol

sangkins 2024. 7. 13. 01:27

 

- Oracle Server와 Client 간의 버전 차이로 발생

SQLNET 파라미터 값을 수정하는 방법도 있다는데 간단하게 ojdbc 버전 변경으로 해결.

ojdbc6.jar -> ojdbc7.jar 수정

 

원인

Oracle 서버와 클라이언트 간의 버전 차이로 인해 발생.

서버와 클라이언트가 사용하는 인증 프로토콜이 일치하지 않을 때 나타난다.

보통 클라이언트 측의 JDBC 드라이버(ojdbc)가 서버 버전과 호환되지 않을 때 발생.

 

해결 방법

 

  1. JDBC 드라이버 버전 업데이트:
    • 가장 간단하고 효과적인 해결책은 클라이언트 측의 JDBC 드라이버를 서버 버전과 호환되는 최신 버전으로 업데이트.
    • ojdbc6.jar에서 ojdbc7.jar로 변경하여 문제를 해결했다..
  2. SQLNET 파라미터 수정 (대안적 방법):
    • Oracle 서버의 SQLNET.ORA 파일에서 SQLNET.ALLOWED_LOGON_VERSION 파라미터를 수정하여 이전 버전의 인증 프로토콜을 허용.
    • 보안상의 이유로 권장되지 않음.

 

JDBC 드라이버를 업데이트하면, 클라이언트와 서버 간의 인증 프로토콜 불일치 문제가 해결되어 ORA-28040 오류가 더 이상 발생하지 않음. 이를 통해 데이터베이스 연결이 정상적으로 이루어지고, 애플리케이션이 원활하게 작동.

 

주의사항

JDBC 드라이버 업데이트 시, 애플리케이션의 다른 부분과의 호환성을 확인하는 것이 중요.