You need to set "driverClassName" to the proper value,
com.mysql.jdbc.Driver, not "driverName".
----- Original Message -----
From: <[EMAIL PROTECTED]>
To: "Tomcat Users List" <[EMAIL PROTECTED]>
Cc: "Tomcat Users List" <[EMAIL PROTECTED]>
Sent: Friday, August 30, 2002 12:20 PM
Subject: Re: Trouble configuring Tomcat 4.0.4 JNDI connection to MySQL
>
> Martin's advice made a difference. When I pulled in the tc 4.1 common/lib
> jars to my tc 4.04 common/lib I got past my problem for the first time.
> The new contents of common/lib are: activation.jar,
> commons-collections.jar, commons-dbcp.jar, commons-pool.jar,
> jdbc2_0-stdext.jar, jndi.jar, jta-spec1_0_1.jar, mail.jar,
> mysql-connector-java-2.0.14-bin.jar, naming-common.jar,
naming-factory.jar,
> naming-resources.jar, servlet.jar, tools.jar, xerces.jar.
>
> Now I have a new problem which hopefully is easy to correct:
>
> java.sql.SQLException: Cannot load JDBC driver class 'null'
> at
>
org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.jav
a:529)
> at
>
org.apache.commons.dbcp.BasicDataSource.getConnection(BasicDataSource.java:3
12)
> at foo.DBTest.init(DBTest.java:32)
>
> I've tried setting driverName to com.mysql.jdbc.Driver,
> org.gjt.mm.mysql.Driver, and even to
> com.mysql.jdbc.jdbc2.optional.MysqlDataSource. I also tried adding
> Class.forName(...).newInstance() to my code, but it was no help either.
>
> Here is my code:
> Class.forName("com.mysql.jdbc.Driver").newInstance();
> Context ctx = new InitialContext();
> ctx.addToEnvironment(Context.INITIAL_CONTEXT_FACTORY,
> "org.apache.naming.factory.DbcpDataSourceFactory");
> //"com.sun.jndi.fscontext.RefFSContextFactory");
> if(ctx == null )throw new Exception("Boom - No Context");
> DataSource ds = (DataSource)ctx.lookup("java:comp/env/jdbc/TestDB");
> if (ds != null) {
> Connection conn = ds.getConnection(); <--- Blows
> up here
>
> Here is my host/context:
> ...
> <Host name="localhost" debug="0" appBase="webapps" unpackWARs="true">
> <Valve className="org.apache.catalina.valves.AccessLogValve"
> directory="logs" prefix="localhost_access_log." suffix
> =".txt"
> pattern="common"/>
> <Logger className="org.apache.catalina.logger.FileLogger"
> directory="logs" prefix="localhost_log." suffix=".txt"
> timestamp="true"/>
> <!-- Tomcat Root Context -->
> <!--
> <Context path="" docBase="ROOT" debug="0"/>
> -->
>
> <!-- Tomcat Manager Context -->
> <Context path="/manager" docBase="manager"
> debug="0" privileged="true"/>
>
> <!-- Security Test -->
> <Context path="/stewart" docBase="stewart" debug="0"
> reloadable="true" crossContext="true">
> <Logger className="org.apache.catalina.logger.FileLogger"
> prefix="localhost_examples_log." suffix=".txt"
> timestamp="true"/>
> <Manager className
> ="org.apache.catalina.session.PersistentManager"
> debug="0"
> saveOnRestart="true"
> maxActiveSessions="-1"
> minIdleSwap="-1"
> maxIdleSwap="-1"
> maxIdleBackup="-1">
> <Store className="org.apache.catalina.session.FileStore"/>
> </Manager>
> </Context>
> <!-- Test JDBC to MySql -->
> <Context path="/DBTest" docBase="DBTest"
> debug="5" reloadable="true" crossContext="true">
>
> <Logger className="org.apache.catalina.logger.FileLogger"
> prefix="localhost_DBTest_log." suffix=".txt"
> timestamp="true"/>
>
> <Resource name="jdbc/TestDB"
> auth="Container"
> type="javax.sql.DataSource"/>
> <ResourceParams name="jdbc/TestDB">
> <parameter>
> <name>factory</name>
>
> <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
> </parameter>
> <parameter>
> <name>maxActive</name>
> <value>100</value>
> </parameter>
> <parameter>
> <name>maxIdle</name>
> <value>30000</value>
> </parameter>
> <parameter>
> <name>maxWait</name>
> <value>100</value>
> </parameter>
> <parameter>
> <name>username</name>
> <value>javauser</value>
> </parameter>
> <parameter>
> <name>password</name>
> <value>javadude</value>
> </parameter>
> <parameter>
> <name>driverClassName</name>
> <!-- <value>org.gjt.mm.mysql.Driver</value>-->
> <!-- <value>
> com.mysql.jdbc.jdbc2.optional.MysqlDataSource</value>-->
> <value>com.mysql.jdbc.Driver</value>
> </parameter>
> <parameter>
> <name>driverName</name>
> <value>jdbc:mysql://localhost:3306/javatest</value>
> </parameter>
> </ResourceParams>
> </Content>
> </Host>
> </Engine>
> </Service>
>
> Any thoughts?
>
> Steve
>
>
>
>
> Martin Jacobson
> <[EMAIL PROTECTED]
> t> To
> Tomcat Users List
> 08/30/2002 06:01 <[EMAIL PROTECTED]>
> AM cc
>
> Subject
> Please respond to Re: Trouble configuring Tomcat 4.0.4
> "Tomcat Users JNDI connection to MySQL
> List"
> <tomcat-user@jakar
> ta.apache.org>
>
>
>
>
>
>
>
> [EMAIL PROTECTED] wrote:
>
> > Vance,
> >
> > Good eye. It use to be driverName but got changed along the way to URL.
> > Probably when I started following the 4.1 how-to. In any case, I
changed
> > back to driverName and, alas, same problem.
> >
> > Vance, do you get the same error?
> >
> > javax.naming.NamingException: Exception creating DataSource:
> > org.hsql.jdbcDriver
> > at org.apache.naming.NamingContext.lookup(NamingContext.java:842)
> > at org.apache.naming.NamingContext.lookup(NamingContext.java:181)
> > at org.apache.naming.NamingContext.lookup(NamingContext.java:822)
> > at org.apache.naming.NamingContext.lookup(NamingContext.java:194)
> > at foo.DBTest1.init(DBTest1.java:20)
> > at org.apache.jsp.DbTest1$jsp._jspService(DbTest1$jsp.java:60)
> >
>
>
> Hi, I had this problem for ages, and resolved it by retrofitting the
> DataSource factory (& connection pool) from tc4.1. The basic problem is
> that Tyrex is broken; it happened to work for some people, but not for
> me and many others :-(
>
> At this point, Craig will probably come in and say to move to tc 4.1,
> and I'd say, 'fine, as long as you don't use SSL with a standalone
> tomcat, because the Coyote connector is broken in this respect.'
>
> What you can do is download 4.1.9, remove tyrex...jar from common/lib in
> 4.0.4, and drop in the commons-*.jar files from 4.1.
>
> Here is what I have in /usr/local/tomcat/common/lib
> activation.jar
> commons-collections.jar
> commons-dbcp.jar
> commons-pool.jar
> jdbc2_0-stdext.jar
> jndi.jar
> jta-spec1_0_1.jar
> mail.jar
> mm.mysql-2.0.14-bin.jar
> naming-common.jar
> naming-factory.jar
> naming-resources.jar
> servlet.jar
> xerces.jar
>
> HTH
> Martin
>
> PS: dont forget that the <user> parameter is <username> with DBCP
>
>
>
> --
> 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]>
>
>
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>