TIL

[TIL] DB 연결시 Driver class name 오류

봄봄로그 2023. 5. 8. 18:51

우리회사는 jdbc 관련해서 자체 라이브러리를 사용하는데 프로젝트마다 라이브러리가 또 다 달라서 새로운 서비스를 맡게되면 아주 귀찮아진다..

이번에 새로 맡은 서비스를  svn에서 깃랩으로 이전하면서 DB연결부분을 만지게 되었는데 자꾸 기동할 때부터 익셉션이 떨어졌다. (Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException)

알고보니 persistence.xml의 driver class name에서는 log4j 를 연결하도록 하고 dbconfig를 설정하는 곳에서는 log4j를 설정하지 않아 서로 달랐기 때문에 나는 오류였다.

 

  • persistence
    • net.sf.log4jdbc.sql.jdbcapi.DriverSpy
  • dbconfig
    • case 1. 
      • net.sf.log4jdbc.sql.jdbcapi.DriverSpy
      • jdbc:log4jdbc:oracle:thin:@host:port/service name => 기동 
    • case 2.
      • net.sf.log4jdbc.sql.jdbcapi.DriverSpy
      • jdbc:oracle:thin:@host:port/service name => Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException
    • case 3.
      • oracle.jdbc.driver.OracleDriver
      • jdbc:oracle:thin:@host:port/service name => Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException
  • persistence
    • oracle.jdbc.driver.OracleDriver
  • dbconfig
    • case 1. 
      • oracle.jdbc.driver.OracleDriver
      • jdbc:oracle:thin:@host:port/service name => 기동
    • case 2.
      • net.sf.log4jdbc.sql.jdbcapi.DriverSpy
      • jdbc:log4jdbc:oracle:thin:@host:port/service name => Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException
    • case 3.
      • oracle.jdbc.driver.OracleDriver
      • jdbc:log4jdbc:oracle:thin:@host:port/service name => Could not open JDBC Connection for transaction; nested exception is java.sql.SQLException