Could not open JDBC Connection for transaction
Could not open JDBC Connection for transaction; nested exception is java.sql.SQLRecoverableException: IO 오류: Undefined Error

 

보통 위와 같은 에러가 생겼을경우 가장 먼저 체크하는 사항은 아래와 같다.

 

1. DB 서버가 살아 있는지 확인 (startup 확인)

2. 리스너가 살아 있는지 확인 (lsnrctl start 확인)

3.  ip(호스트)가 맞는지 체크 

4. sid 가 맞는지 체크

5. 포트번호가 맞는지 체크

6. 방화벽 인바운드 설정을 했는지 체크

 

하지만, 난 위의 경우에는 해당하지 않았다.

SQL 디벨로퍼에서 디비 접속을 확인하였고 정상적인 접속이 되었으나, 웹서버에서 DB 커넥트가 안되는 에러였다. 

원인은 윈도우 서버 계정이 '한글'로 되어있어서 그랬던 것이었다.

 

[해결 방법]

* 일반 계정

1. WIN+R

2. 실행창에서 'netplwiz' 입력

3. 한글로 된 계정을 클릭 후 영어로 변경.

 

* 관리자 계정

관리자 계정일 경우 위의 방법으로는 변경이 불가능 하다. 

1. WIN+R

2. 실행창에서 'compmgmt.msc' 입력

3. 이름바꾸기를 통해 계정명을 변경.