2018. 2. 8. 13:42ㆍetc/error
오라클 접속 시 오류발생
ora-28040: 일치하는 인증 프로토콜 없음
ORA-28040 : No matching authentication protocol
|
원인은 다음과 같다.
1. Oracle 12c Oracle Server 와 Client 의 버전 차이
2. ojdbc14.jar 를 사용했을 경우에 발생한다.
2가지 방법으로 해결할 수 있다.
1. SQLNET 파라미터(SQLNET.ALLOWED_LOGON_VERSION) 값을 수정해야 한다.
SQLNET.ALLOWED_LOGON_VERSION 파라미터를 수정함으로써 Oracle 에 연결할 때 사용되는 authentication protocol 을 설정한다고 함
sqlnet.ora 파일 경로 :
\app\account\product\12.1.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora
또는
$ORACLE_HOME/network/admin/sqlnet.ora
SQLNET.ORA
위 파일을 열어서 아래 내용을 마지막 줄에 추가한다.
SQLNET.ALLOWED_LOGON_VERSION_SERVER=9
|
오라클 서버 재시작하고 연결해 본다.
위 내용을 추가함으로써 Oracle Database 에 연결할 때 9 혹은 그 이상 버전의 client 에서 Database에 접근할 수 있다.
파라미터 값은 접근할 클라이언트 버전에 맞게 8, 9, 10 등등 맞는 버전으로 수정하면 된다.
2. 프로젝트에서 연결 중 오류가 발생한다면 라이브러리 중 ojdbc.jar 파일의 버전을 확인해 본다.
ojdbc14.jar 를 사용중이라면 ojdbc6.jar 또는 ojdbc7.jar 로 변경
|
끝~