【问题标题】:No suitable driver found找不到合适的驱动程序
【发布时间】:2012-12-09 14:42:43
【问题描述】:

我遇到了一个错误..

java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:545)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at pack.ConnectionFactory.getConnect(ConnectionFactory.java:37)
String DriverClass = "com.mysql.jdbc.Driver";
static String url =     "jdbc:mysql://localhost:3306/dbqwe";    

使用 J2SE1.5、TOMCAT 6.0.36、MYSQL 5.5 SERVER 和 ECLIPSE JUNO。

tried with mysql-connector-java-5.1.18-bin
mysql-connector-java-5.1.22.jar
mysql-connector-java-5.1.2.jar
mysql-connector-java-3.1.7-bin.jar
ojdbc14.jar

把它们放进去

web-inf/lib, tomcat lib

eclipse/jre/lib

将 jar 文件也添加到 java 构建路径中...

知道我哪里出错了吗?

【问题讨论】:

    标签: java mysql jakarta-ee tomcat6 eclipse-juno


    【解决方案1】:

    您需要在您的String url 中提供usernamepassword

    static String url = "jdbc:mysql://localhost:3306/dbqwe?user=usrHere&password=passHERE"; 
    

    有关连接JAVAMySQL 的详细信息,请访问以下链接:

    PS:你能发布你的整个代码吗?

    【讨论】:

      【解决方案2】:

      您注册了您的驱动程序吗?在DriverManager.getConnection 之前应该有

      Class.forName("com.mysql.jdbc.Driver");
      

      DriverManager.registerDriver(new com.mysql.jdbc.Driver());
      

      【讨论】:

        【解决方案3】:
            public class ConnectionFactory 
            {
              String DriverClass = "com.mysql.jdbc.Driver";
              static String url = "jdbc:mysql://localhost:3306/dbb";
               static String Userid = "root";
             static String Pwd = "pswd";
              StringBuffer output = new StringBuffer();
            ConnectionFactory cf = new ConnectionFactory(); 
             private ConnectionFactory()
        { try{ Class.forName(DriverClass);
             //output.append("Driver Installation Successful");
             System.out.println("Driver Installed"); }
         catch (ClassNotFoundException e)
            {e.printStackTrace();
            output.append("Driver Installation Failed");  }}
          public  static Connection getConnect() throws SQLException 
          {Connection con = DriverManager.getConnection(url, Userid, Pwd);
            return con;}}
        

        【讨论】:

          【解决方案4】:

          如果 ${CATALINA_HOME}/conf/server.xml 中未注释此行:

          <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
          

          改成:

          <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" driverManagerProtection="false" />
          

          这会将 Tomcat 恢复到 6.0.35 之前的功能,它在 ${CATALINA_HOME}/lib 中正确注册了类型 4 JDBC 驱动程序

          【讨论】:

            猜你喜欢
            • 2016-04-02
            • 2019-03-08
            • 2013-03-16
            • 2013-07-04
            • 2017-05-12
            • 2020-12-13
            • 2015-05-17
            • 1970-01-01
            相关资源
            最近更新 更多