2010-06-04 13 views
2

je suis en train de configurer une source de données d'une base de données db2 dans tomcat (en utilisant Eclipse IDE), mais je ne peux pas résoudre le problème, Tomcat me Trow l'exception suivante:tomcat db2-jdbc datasource configure

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 

où je mets les fichiers jdbc de DB2? j'essaie à chaque endroit (dans les bibliothèques du projet, dans le dossier lib du répertoire d'installation de tomcat, dans le dossier WEB-INF/lib du projet Web Dinamic, dans le classpath tomcat dans la configuration eclipse "tomcat server" jusqu'à présent)

Cordialement

ps .: J'utilise:

DB2 9.7 Tomcat 6 JDK 1.6 Eclipse Galileo

Répondre

4

Vous devez le mettre à l'extérieur Eclipse dans le dossier /lib de Tomcat ou dans l'un des chemins comme SPE cified dans les propriétés shared.loader ou common.loader dans /conf/catalina.properties. Si cela ne résout pas le problème, ce n'est pas la bonne instance de Tomcat que vous pensez qu'Eclipse utilise.

Si tout va bien (laisser tomber le pilote JDBC dans la bibliothèque du serveur), alors vous devriez le voir apparaître dans les [ProjectName]/Java Ressources (src)/Bibliothèques/[ServerName] inscription dans le projet Explorer.

+0

merci, vous avez raison :) –