java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null' --> JDBC 연결을 못 찾는것. 어딘가 설정이 잘 못 되었다.
Tomcat8 JDBC 설정방법
tomcat 설정파일은 Eclipse에서도 설정 가능 하지만
~설치경로\Tomcat v8.0 Server at localhost-config 에 있는 파일도 같은 경로이니
여기에서도 수정 가능하다.
(1) tomcat의 context.xml 수정한다.
JDBC 연결정보를 입력한다.
<Context></Context> 사이에 입력한다.
Resource 입력내용
<Resource name="jdbc/portletPrefs(데이타베이스이름 , JNDI로 호출될 이름을 설정)"
auth="Container(Container 거나 Application이거나 - DBCP를 관리할 관리자)"
type="javax.sql.DataSource(해당 resource의 return type)"
factory="org.apache.tomcat.dbcp.dbcp2.BasicDataSourceFactory(dbcp를 유용하는 관리 클래스)"
driverClassName="oracle.jdbc.OracleDriver(dbcp를 이용하기 위한 드라이버클래스)"
url="jdbc:oracle:thin:@//XXX.XXX.XXX.XX:PPPP/OOOOO(DB의 접속 유알엘)"
username="XXX(db 접속 아이디)" password="XXXX(db 접속 비번)"
maxActive="100"
maxIdle="30"
maxWait="10000"
removeAbandoned="true"
removeAbandonedTimeout="60"/>
(2) tomcat의 web.xml 수정한다.
<resource-ref>
<description>DB Connection</description>
<res-ref-name>jdbc/portletPrefs</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
(3) JDBC Driver 다운로드, 배치 어플리케이션 lib에 넣어준다.
Tomcat에 배치한 어플리케이션의 WEB-INF에 tomcat.dbcp.jar를 넣어준다.
tomcat.dbcp.jar는 톰캣설치 경로의 lib 폴더에 있다.
- 톰캣 6.0 이전 버전 : commons-dbcp.jar, commons-pool.jar, commons-collections.jar
- 톰캣 6.0 이후 버전 : tomcat-dbcp.jar
(4) 필자처럼 Oracle DB에 접근하려고 하는거면
ojdbc.jar도 추가~
Spring + Tomcat 의 JDBC 설정
(Spring Datasource)
Spring에서는 해당 jndi 이름으로 connection을 가져다 사용하면 되는데
Tomcat 같은 경우는 java:/comp/env/을 붙여줘야 한다.
<bean id="dataSource"
class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:/comp/env/jdbc/portletPrefs" />
</bean>
만약 tomcat서버에서 기동할 시 java:/comp/env/ 을 붙여주지 않으면
다음과 같은 에러가 난다.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [config/jdbc-context.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: Name [jdbc/portletPrefs] is not bound in this Context. Unable to find [jdbc].
'OS > Windows' 카테고리의 다른 글
윈도우 포트 확인 / 방화벽 확인 / netstat 명령어 사용방법 (0) | 2019.10.31 |
---|---|
Window10 tomcat8 설치 + Eclipse 연동 정리 (1) | 2019.01.21 |
숨김 파일 및 폴더 보이게 하기 (0) | 2016.06.28 |
hosts 파일 위치 (0) | 2016.06.27 |