代码之家  ›  专栏  ›  技术社区  ›  Enrique San Martín

Tomcat DB2 JDBC数据源配置

  •  2
  • Enrique San Martín  · 技术社区  · 15 年前

    我正试图在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类路径中,到目前为止)

    当做

    我正在使用:

    DB2 9.7 Tomcat 6 JDK 1.6 日食伽利略

    1 回复  |  直到 14 年前
        1
  •  4
  •   BalusC    15 年前

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

    如果一切正常(将JDBC驱动程序放到服务器的库中),那么应该会看到它出现在 [项目名称] /Java资源(SRC)/库/服务器名称] 在项目资源管理器中列出。

    推荐文章