is your mysql jar file in /common/lib instead of in /WEB-INF/lib? Charlie
> -----Original Message----- > From: Paul Tomsic [mailto:[EMAIL PROTECTED]] > Sent: Tuesday, December 17, 2002 3:37 PM > To: [EMAIL PROTECTED] > Subject: loading jdbc driver fails from DataSource and Context - > classLoader problem?? > > > Why does the following work: > > Class.forName("com.mysql.jdbc.Driver").newInstance(); > Connection conn = > DriverManager.getConnection("jdbc:mysql://10.117.7.18:3306/dow > ?autoReconnect=true", > "user", "pwd"); > PreparedStatement t_stm = > conn.prepareStatement("select name from templates"); > ResultSet t_rs = t_stm.executeQuery(); > while(t_rs.next()) { > out.println(t_rs.getString(1)); > } > > But the following code fails with > "java.sql.SQLException: Cannot load JDBC driver class > 'null'" : > > System.setProperty("jdbc.drivers", > "com.mysql.jdbc.Driver"); > Context t_ctx = new InitialContext(); > DataSource t_ds = > (DataSource)t_ctx.lookup("java:comp/env/jdbc/DOW"); > Connection t_conn = t_ds.getConnection(); > PreparedStatement t_stm = > t_conn.prepareStatement("select name from templates"); > ResultSet t_rs = t_stm.executeQuery(); > while (t_rs.next()){ > out.println(t_rs.getString(1)); > } > > I've got this in my server.xml: > > ----- > <Resource name="jdbc/dow" auth="Container" > type="javax.sql.DataSource"/> > <ResourceParams name="jdbc/DOW"> > <parameter> > <name>factory</name> > > <value>org.apache.commons.dbcp.BasicDataSourceFactory</value> > </parameter> > <parameter> > <name>removeAbandoned</name> > <value>true</value> > </parameter> > <parameter> > <name>removeAbandonedTimeout</name> > <value>60</value> > </parameter> > <parameter> > <name>logAbandoned</name> > <value>true</value> > </parameter> > <parameter> > <name>maxActive</name> > <value>100</value> > </parameter> > <parameter> > <name>maxIdle</name> > <value>30</value> > </parameter> > <parameter> > <name>maxWait</name> > <value>10000</value> > </parameter> > <parameter> > <name>username</name> > <value>usr</value> > </parameter> > <parameter> > <name>password</name> > <value>pwd</value> > </parameter> > <parameter> > <name>driverClassName</name> > <value>com.mysql.jdbc.Driver</value> > > </parameter> > <parameter> > <name>url</name> > > <value>jdbc:mysql://10.117.7.18:3306/dow?autoReconnect=true</value> > </parameter> > </ResourceParams> > ----- > > and my web.xml: > ----- > <resource-ref> > <description>DB Connection</description> > <res-ref-name>jdbc/DOW</res-ref-name> > <res-type>javax.sql.DataSource</res-type> > <res-auth>Container</res-auth> > </resource-ref> > > ----- > > the stack trace for the error: > ----- > java.sql.SQLException: Cannot load JDBC driver class > 'null' > at > org.apache.commons.dbcp.BasicDataSource.createDataSource(Basic DataSource.java:529) > at > org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDat > aSource.java:312) > at > com.cappsdigital.actions.dsTest.doGet(dsTest.java:50) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:740) > at > javax.servlet.http.HttpServlet.service(HttpServlet.java:853) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilt > er(ApplicationFilterChain.java:247) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(Appli cationFilterChain.java:193) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardW rapperValve.java:260) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv eContext.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardC ontextValve.java:191) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv eContext.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Aut henticatorBase.java:527) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv eContext.invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.catalina.core.StandardContext.invoke(StandardContex > t.java:2396) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHost > Valve.java:180) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv eContext.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDi spatcherValve.java:170) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv eContext.invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReport > Valve.java:172) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv eContext.invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEn gineValve.java:174) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValv eContext.invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipel > ine.java:480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter. > java:223) > at > org.apache.coyote.http11.Http11Processor.process(Http11Process > or.java:405) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandle r.processConnection(Http11Protocol.java:380) > at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoi > nt.java:508) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run( ThreadPool.java:533) > at java.lang.Thread.run(Thread.java:491) > > ----- > > thoughts? > > > > __________________________________________________ > Do you Yahoo!? > Yahoo! Mail Plus - Powerful. Affordable. Sign up now. > http://mailplus.yahoo.com > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>