Tomcat - java.sql.SQLException: Cannot load JDBC driver cla

 
Vista:

java.sql.SQLException: Cannot load JDBC driver cla

Publicado por clorindo (2 intervenciones) el 23/03/2006 11:53:43
Hola.
Estoy realizando un servicio web con tomcat y axis en java y quiero acceder a una base de datos MYSQL pero tengo este problema.
Intento leer el driver a traves de JDNI pero no soy capaz. Ya he puesto el driver en el path, y en $CATALINA_HOME/common/lib, pero sigue
dando el mismo error.

en el fichero web.xml puse:

<resource-ref>
<res-ref-name>jdbc/PruebaDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>

y en el server.xml:

<Context path="/PruebaDB" docBase="PruebaDB"
debug="5" reloadable="true" crossContext="true">

<Logger className="org.apache.catalina.logger.FileLogger"
prefix="localhost_pruebaDB_log." suffix=".txt"
timestamp="true"/>

<Resource name="jdbc/PruebaDB"
auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/PruebaDB">
<parameter>
<name>maxActive</name>
<value>100</value>
</parameter>

<parameter>
<name>maxIdle</name>
<value>30</value>
</parameter>

<parameter>
<name>maxWait</name>
<value>10000</value>
</parameter>

<!-- MySQL dB username and password for dB connections -->
<parameter>
<name>username</name>
<value>user</value>
</parameter>
<parameter>
<name>password</name>
<value>user</value>
</parameter>

<!-- Class name for mm.mysql JDBC driver -->
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>

<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/kiwis</value>
</parameter>
</ResourceParams>
</Context>

agradeceria vuestra ayuda porque ya no se que hacer

el error completo por si sirve de algo es:

java.sql.SQLException: Cannot load JDBC driver class 'null'
at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:529)
at org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:312)
at com.kiwiatlantico.pruebadb.model.facade.UserProductFacade.findProducts(UserProductFacade.java:48)
at com.kiwiatlantico.pruebadb.wsdl.UserProductProviderSoapBindingImpl.findProducts(UserProductProviderSoapBindingImpl.java:28)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:453)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:699)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:535)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:790)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:709)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:572)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:644)
at java.lang.Thread.run(Thread.java:595)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:java.sql.SQLException: Cannot load JDBC driver

Publicado por isaac (1 intervención) el 19/05/2006 02:03:14
Prueba con el sig. codigo en el server.xml:

<Context debug="0" docBase="RUTA_COMPLETA DE LA APLICACION" path="/PruebaDB" reloadable="true">
<ResourceParams name="jdbc/PruebaDB">
<parameter>
<name>username</name>
<value>user</value>
</parameter>
<parameter>
<name>password</name>
<value>user</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>jdbc:mysql://localhost/kiwis</value>
</parameter>
</ResourceParams>
</Context>

Es que tienes abierta una etiqueta que dice:

<Resource name="jdbc/PruebaDB" auth="Container" type="javax.sql.DataSource"/>

la cual nunca cierras, algo asi como </Resource>. Yo tengo un codigo como el que te acabo de poner, y con eso la aplicacion corre perfecto. En la ruta completa de la aplicacion, pones algo asi como /usr/local/jakarta-tomcat-5.0.28/webapps/PruebaDB (en sistemas unix), o el equivalente si trabajas en windows.

Puedes agregar despues los parametros de maxActive y maxWait. Lo que tienes en el web.xml esta bien.

Espero te sirva el codigo que comparto. Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:java.sql.SQLException: Cannot load JDBC driver

Publicado por clorindo (2 intervenciones) el 20/05/2006 11:44:22
Muchas gracias Isaac. Ya me funciona, muchas gracias porque me rompí la cabeza y no daba hecho.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar