Cannot create JDBC driver of class '' for connect URL 'null'????是你配置的不对?还是文件放错地方?还是...

解决方案 »

  1.   

    这是放在SERVER.XML中的代码:
    <Resource name="jdbc/bookdb"
                   auth="Container"
                   type="javax.sql.DataSource"/> 
       <ResourceParams name="jdbc/bookdb">
        <parameter>
          <name>factory</name>
          <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
        </parameter> 
         <!-- Maximum number of dB connections in pool. Make sure you
             configure your mysqld max_connections large enough to handle
             all of your db connections. Set to 0 for no limit.
             -->
        <parameter>
          <name>maxActive</name>
          <value>10</value>
        </parameter> 
         <!-- Maximum number of idle dB connections to retain in pool.
             Set to 0 for no limit.
             -->
        <parameter>
          <name>maxIdle</name>
          <value>3</value>
        </parameter> 
         <!-- Maximum time to wait for a dB connection to become available
             in ms, in this example 10 seconds. An Exception is thrown if
             this timeout is exceeded.  Set to -1 to wait indefinitely.
            Maximum time to wait for a dB connection to become available
             in ms, in this example 10 seconds. An Exception is thrown if
             this timeout is exceeded.  Set to -1 to wait indefinitely.
             -->
        <parameter>
          <name>maxWait</name>
          <value>10000</value>
        </parameter> 
         <!-- MySQL dB username and password for dB connections  -->
        <parameter>
         <name>username</name>
         <value>root</value>
        </parameter>
        <parameter>
         <name>password</name>
         <value>123</value>
        </parameter> 
         <!-- Class name for mm.mysql JDBC driver -->
        <parameter>
           <name>driverClassName</name>
           <value>com.mysql.jdbc.Driver</value>
        </parameter> 
         <!-- The JDBC connection url for connecting to your MySQL dB.
             The autoReconnect=true argument to the url makes sure that the
             mm.mysql JDBC Driver will automatically reconnect if mysqld closed the
             connection.  mysqld by default closes idle connections after 8 hours.
             -->
        <parameter>
          <name>url</name>
          <value>jdbc:mysql://localhost:3306/bookdb?autoReconnect=true</value>
        </parameter>
      </ResourceParams> 
     </Context>
      

  2.   

    在WEB-INF里的代码:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"  version="2.4"> <description>MySQL Test App</description>
     <resource-ref>
         <description>DB Connection</description>
         <res-ref-name>jdbc/bookdb</res-ref-name>
         <res-type>javax.sql.DataSource</res-type>
         <res-auth>Container</res-auth>
     </resource-ref>
    </web-app>
      

  3.   

    出现同样的问题,呵呵,等待答案
    开始又出现这样异常:
    javax.naming.NameNotFoundException:Name java:comp is not bound in this context找了N多资料都没解决
    我的server.xml是通过admin设置的,如下
     <GlobalNamingResources>
        <Environment name="simpleValue" type="java.lang.Integer" value="30"/>
        <Resource auth="Container" description="User database that can be updated and saved" name="UserDatabase" type="org.apache.catalina.UserDatabase"/>
        <Resource name="jdbc/mysql" type="javax.sql.DataSource"/>
        <ResourceParams name="UserDatabase">
          <parameter>
            <name>factory</name>
            <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
          </parameter>
          <parameter>
            <name>pathname</name>
            <value>conf/tomcat-users.xml</value>
          </parameter>
        </ResourceParams>
        <ResourceParams name="jdbc/mysql">
          <parameter>
            <name>url</name>
            <value>java:mysql://localhost:3306/test</value>
          </parameter>
          <parameter>
            <name>password</name>
            <value>922569</value>
          </parameter>
          <parameter>
            <name>maxActive</name>
            <value>4</value>
          </parameter>
          <parameter>
            <name>maxWait</name>
            <value>5000</value>
          </parameter>
          <parameter>
            <name>driverClassName</name>
            <value>com.mysql.jdbc.Driver</value>
          </parameter>
          <parameter>
            <name>username</name>
            <value>michael</value>
          </parameter>
          <parameter>
            <name>maxIdle</name>
            <value>2</value>
          </parameter>
        </ResourceParams>
      </GlobalNamingResources>焦急等待答案中...............
      

  4.   

    呵呵 不要急耐心看看TOMCAT的帮助文档。
      

  5.   

    Tomcat5.5.X与Tomcat5.0.X配置数据库连接池的不同之处
    http://fireshort.blogbus.com/logs/2005/02/1022729.html
      

  6.   

    是不是少了mysql的连接驱动  mysql-connector-java-3.0.9-stable-bin.jar ?
      

  7.   

    Cannot create JDBC driver of class '' for connect URL 'null'
      

  8.   

    我也是同样的问题,我连的是MSSQL驱动已经有了,我用Tomcat下的测试程序可以连到数据库,
    是不是Server.xml配置和我的程序不一样!!
    关注中...
      

  9.   

    我的问已解决,你的Server.xml配置看不出有什么错,
    把你的连接代码贴出来!!
      

  10.   

    同时连接两个DATABASE的例子,根据需要,改变你的databaseName&user&password请放在server.xml下
    <Context path="/quickstart" reloadable="true" docBase="D:\eclipse\workspace\quickstart">
        <Resource name="jdbc/quickstart" scope="Shareable" type="javax.sql.DataSource"/>
        <ResourceParams name="jdbc/quickstart">
            <parameter>
                <name>factory</name>
                <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
            </parameter>        <!-- DBCP database connection settings -->
            <parameter>
                <name>driverClassName</name>
                <value>com.mysql.jdbc.Driver</value>
            </parameter>
            <parameter>
                <name>url</name>
                <value>jdbc:mysql://localhost/test</value>
            </parameter>
            <parameter>
                <name>username</name>
                <value>root</value>
            </parameter>
            <parameter>
                <name>password</name>
                <value>aone</value>
            </parameter>
            <!-- DBCP connection pooling options -->
            <parameter>
                <name>maxWait</name>
                <value>3000</value>
            </parameter>
            <parameter>
                <name>maxIdle</name>
                <value>100</value>
            </parameter>
            <parameter>
                <name>maxActive</name>
                <value>10</value>
            </parameter>
        </ResourceParams>
    </Context><Context path="/struts" reloadable="true" docBase="D:\eclipse\workspace\struts">
        <Resource name="jdbc/struts" scope="Shareable" type="javax.sql.DataSource"/>
        <ResourceParams name="jdbc/struts">
            <parameter>
                <name>factory</name>
                <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
            </parameter>        <!-- DBCP database connection settings -->
            <parameter>
                <name>driverClassName</name>
                <value>com.mysql.jdbc.Driver</value>
            </parameter>
            <parameter>
                <name>url</name>
                <value>jdbc:mysql://localhost/test</value>
            </parameter>
            <parameter>
                <name>username</name>
                <value>root</value>
            </parameter>
            <parameter>
                <name>password</name>
                <value>aone</value>
            </parameter>
            <!-- DBCP connection pooling options -->
            <parameter>
                <name>maxWait</name>
                <value>3000</value>
            </parameter>
            <parameter>
                <name>maxIdle</name>
                <value>100</value>
            </parameter>
            <parameter>
                <name>maxActive</name>
                <value>10</value>
            </parameter>
        </ResourceParams>
    </Context>
    如果还有其他问题请继续跟帖
      

  11.   

    测试MYSQL数据库的JAVA文件,你可以运行试试
    public class testDataBase { public static void main(String[] args) throws InstantiationException, IllegalAccessException, ClassNotFoundException, SQLException {
    Class.forName("com.mysql.jdbc.Driver").newInstance();     
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mysql?user=root&password=aone");    
    String sql = "select * from user ";    
    Statement stmt = con.createStatement();    
    stmt.execute(sql);    
    ResultSet rs = stmt.getResultSet();    
    for(int i = 1;i <= rs.getMetaData().getColumnCount();i++) {      
    System.out.print(rs.getMetaData().getColumnName(i) + "\t") ;    
    }    
    System.out.println( System.getProperty("line.separator")+"********************");    
    while (rs.next()) {      
    for(int i = 1;i <= rs.getMetaData().getColumnCount();i++) {        
    System.out.print(rs.getString(i) + "\t");      
    }      
    System.out.println();    
    }
    }
    }
      

  12.   

    楼上的兄弟,你没有通过Datasource获取连接,配了jndi没用上,测试mysql什么,如果配置连接池在tomcat里取得连接通过ds.getConnection()这句的!