小弟学struts不久,
用struts的datasource连接mysql一直出错,但是用Class.forName"com.mysql.jdbc.Driver").newInstance()的方式又可以
谁能帮帮我看看啊!谢谢了我的struts-config.xml配置:
  <data-sources>
  <data-source key="mysqlDataSource" type="org.apache.commons.dbcp.BasicDataSource">
   <set-property property="autoCommit" value="false" />
   <set-property property="description" value="MYSQL Data Source" />
   <set-property property="driverClass" value="com.mysql.jdbc.Driver"/>
   <set-property property="maxCount" value="10" />
   <set-property property="minCount" value="2" />
   <set-property property="user" value="root" />
   <set-property property="password" value="" />
   <set-property property="url" value="jdbc:mysql://localhost:3306/test" />
 </data-source>
</data-sources>
/***************************
出错信息:
严重: Initializing application data source mysqlDataSourceorg.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'jdbc:mysql://localhost:3306/test' at org.apache.commons.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:780) at org.apache.commons.dbcp.BasicDataSource.setLogWriter(BasicDataSource.java:598) at org.apache.struts.action.ActionServlet.initModuleDataSources(ActionServlet.java:1087) at org.apache.struts.action.ActionServlet.init(ActionServlet.java:472) at javax.servlet.GenericServlet.init(GenericServlet.java:211) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1029) at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:862) at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:4013) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4357) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) at org.apache.catalina.core.StandardHost.start(StandardHost.java:789) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1083) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:478) at org.apache.catalina.core.StandardService.start(StandardService.java:480) at org.apache.catalina.core.StandardServer.start(StandardServer.java:2313) at org.apache.catalina.startup.Catalina.start(Catalina.java:556) 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:324) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:284) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:422)Caused by: java.sql.SQLException: No suitable driver
********************/
但是我已经把mysql-connector-java-3.1.10-bin.jar加入程序的lib中啦

解决方案 »

  1.   

    mysql我也遇到过莫名其妙的错误,和楼主差不多,实在没有办法了就下一个最新稳定版的重装一下mysql试试?
      

  2.   

    嗯  谢谢晕  但是 如果不用datasource,而是用Class.forName("com.mysql.jdbc.Driver)连接又可以用而且之前我用 sqlserver也是同样的问题    所以我觉得应该跟数据库没有关系  一定是我哪里错了
      

  3.   

    ms sqlserver我倒是遇到过这种问题,后来装了SQL 2000的SP3a或sp4就可以了,建议你重新安装MYSQL试试看
      

  4.   

    但是我的sql2000 已经打了sp4的补丁了
    还有  那mysql总应该可以吧
    为什么还是不行应该是java.sql.SQLException: No suitable driver 和
    mysqlDataSourceorg.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of 
    class '' for connect URL 'jdbc:mysql://localhost:3306/test'的问题   大虾们帮我看看???????????
      

  5.   

    property="driverClassName",不是driverClass
      

  6.   

    这个问题我遇到过,我用tomcat,把mysqldriver.jar拷贝到$Tomcat_Home/common/lib/下就ok了。
      

  7.   

    property="driverClassName",不是driverClass 
    property="username" 不是 user
    一定是这样的
    该问题也困绕过我
      

  8.   

    <data-source key="123">
          <set-property property="password" value="" />
          <set-property property="minCount" value="20" />
          <set-property property="maxCount" value="100" />
          <set-property property="user" value="root" />
          <set-property property="driverClass" value="com.mysql.jdbc.Driver" />
          <set-property property="description" value="connectMysql" />
          <set-property property="url" value="jdbc:mysql://localhost:3306/test" />
          <set-property property="readOnly" value="false" />
          <set-property property="autoCommit" value="true" />
          <set-property property="loginTimeout" value="" />
        </data-source>