스프링 mybatis 오라클 12c 연동 에러
기존에 하던 프로젝트 환경을 바꾸면서 삽질한걸 정리한다.
기존 환경
os : osx 요세미티
jdk : 1.7
tomcat : 8
db : mysql
ide : intellij 14
새로운 환경
os : windows 8.1
jdk : 1.8
tomcat : 8
db : oracle 12c
ide : intellij 14
기존 환경을 새로운 환경에 세팅하니 db접속이 안된다
에러내용
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException:
### Error querying database. Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: ORA-28040: No matching authentication protocol ...
오라클 설치파일 에서 sqlnet.ora 파일을 찾아 열어 SQLNET.ALLOWED_LOGON_VERSION=8 추가해 준다. 출처
(C:\app\account\product\12.1.0\dbhome_1\NETWORK\ADMIN\sqlnet.ora)
디비 접속 문제는 해결 되었지만 여전히 에러가 난다.
에러내용
java.lang.AbstractMethodError: oracle.jdbc.driver.T4CConnection.isValid(I)Z
at org.apache.tomcat.dbcp.dbcp2.DelegatingConnection.isValid(DelegatingConnection.java:913)
at org.apache.tomcat.dbcp.dbcp2.PoolableConnection.validate(PoolableConnection.java:226) at org.apache.tomcat.dbcp.dbcp2.PoolableConnectionFactory.validateConnection(PoolableConnectionFactory.java:302)...
ojdbc 드라이버를 교체해 준다.
메이븐 레파지토리도 추가해 주어야 한다. 출처
이제야 잘돌아간다...
intellij 에서 자체 디비 툴로로 접속할때 io오류가 나는데 왜 그런지 모르겠다.
intellij에서 자동으로 깔아준 드라이버 문제같긴한데..
나에겐 sqlplus가 있으니 시간날때 찾아보는거로ㅋㅋ