728x90
같이 프로젝트 하시는 분이 윈도우 포멧 후 프로젝트를 다시 받아 실행 하는 중 오류가 발생하여 확인해 본 결과 의외의 부분에서 문제가 발생한것이라 기록해 둔다.
오류 상세 메시지
Caused by: oracle.net.ns.NetException: Undefined Error
at oracle.net.ns.NSProtocolNIO.negotiateConnection(NSProtocolNIO.java:271) ~[ojdbc-8.jar:12.2.0.1.0]
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:317) ~[ojdbc-8.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1438) ~[ojdbc-8.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:518) ~[ojdbc-8.jar:12.2.0.1.0]
at oracle.jdbc.driver.PhysicalConnection.connect(PhysicalConnection.java:688) ~[ojdbc-8.jar:12.2.0.1.0]
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:39) ~[ojdbc-8.jar:12.2.0.1.0]
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:691) ~[ojdbc-8.jar:12.2.0.1.0]
특별한 원인 없이 Undefined Error 만 발생하여 원인 추적 및 해결이 까다롭다.
기본 점검 사항
- Oracle 접속 정보 (IP / PORT / SID) 정확성
- 방화벽 및 DB 포트 오픈 여부
- ojdbc 드라이버 호환성
- 기본 테스트 프로그램으로 JDBC 연결 확인
위의 기본 점검사항에 해당하는 부분은 확인 해 봤지만 이미 다른 프로젝트 참여인원은 정상적으로 사용하고 있어 원인으로 판단되지 않았다.
의외의 원인: Windows 사용자 계정 이름(한글 사용)
구글링 중 아래와 같은 게시글을 통해 윈도우 사용자 계정 이름에 한글이 있을 경우 위 오류 증상이 발생할 수 있다는것을 알게되어
아래 포스팅을 참고하여 윈도우 계정을 변경하였습니다.
윈도우(Windows) 11 사용자 계정 이름 및 사용자 폴더명 바꾸기
[Microsoft 계정 사용 시] ◎ 윈도우키+X를 누르고 설정 클릭 계정 - 사용자 정보 - 계정 설정으로 이동하여 대신 로컬 계정으로 로그인 클릭 후 계정을 생성합니다. [PIN 로그인에서 암호방식으로 로
lastcard.tistory.com
적용 결과
사용자 계정명을 영문으로 변경한 뒤, 동일한 프로젝트에서 Oracle 접속이 정상적으로 동작하는 것을 확인했습니다.
정리
- 오류 유형 : oracle.net.ns.NetException: Undefined Error
- 원인 : Windows 사용자 계정명이 한글로 설정된 경우
- 해결 방법 : 사용자 계정명을 영문으로 변경
728x90