tomcat db2-jdbc数据源配置

时间:2010-06-04 13:44:08

标签: java eclipse tomcat jdbc db2

我正在尝试在tomcat中配置db2数据库的数据源(使用eclipse作为IDE),但是我无法解决问题,Tomcat给我发了以下异常:

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot load JDBC driver class 'com.ibm.db2.jcc.DB2Driver'
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1136)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
    at com.azurian.lce.usuarios.ConnectionManager.getConnection(ConnectionManager.java:65)
    at com.azurian.lce.usuarios.db2.UsuarioDAOImpl.autenticar(UsuarioDAOImpl.java:101)
    at com.azurian.lce.usuarios.UsuarioServiceImpl.autenticar(UsuarioServiceImpl.java:31)
    at com.azurian.lce.web.admin.actions.LoginAction.execute(LoginAction.java:49)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:852)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Unknown Source)
    at org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1130)
    ... 23 more

我把DB2的jdbc文件放在哪里?我尝试在每个地方(在项目的库中,在tomcat安装目录的lib文件夹中,在Dinamic Web项目的WEB-INF / lib文件夹中,在eclipse中的tomcat类路径“tomcat server”配置中到目前为止)

此致

ps。:我正在使用:

DB2 9.7 雄猫6 JDK 1.6 Eclipse Galileo

1 个答案:

答案 0 :(得分:4)

您需要将它放在Eclipse的/lib文件夹中,或者放在shared.loadercommon.loader/conf/catalina.properties属性中指定的任何路径中。如果它没有解决问题,那么它就不是你认为Eclipse正在使用的正确的Tomcat实例。

如果一切顺利(删除服务器库中的JDBC驱动程序),那么您应该看到它出现在 [ProjectName] / Java Resources(src)/ Libraries / [ServerName] 列表中Project Explorer。