例外:找不到适合jdbc:mysql的驱动程序

时间:2012-05-05 17:16:09

标签: java mysql

我正在尝试使用这个简单的代码连接到mysql数据库。

import java.sql.*;
public class OdbcAccessConnection_1 {
  public static void main(String [] args) {
    Connection con = null;
    try {
      Class.forName("sun.jdbc.odbc.JdbcOdbcDriver") ;
    // Connect with a url string
      con = DriverManager.getConnection("jdbc:mysql://localhost/books","root","1234");
      System.out.println("Connection ok.");
      con.close();
    } catch (Exception e) {
      System.err.println("Exception: "+e.getMessage());
      e.printStackTrace();
    }
  }
}

它只是告诉我连接是否正常。我的数据库没有问题,这个代码/连接在netbeans上工作。我得到的StackTrace是 -

the java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost/books
        at java.sql.DriverManager.getConnection(DriverManager.java:602)
        at java.sql.DriverManager.getConnection(DriverManager.java:185)
        at OdbcAccessConnection_1.main(OdbcAccessConnection_1.java:13)

我正在使用64位Windows 7并使用5.1版本的Connector / ODBC驱动程序64位。在ODBC上似乎连接并且测试成功。但是当我运行代码时,我得到了上面的堆栈跟踪。我错过了一些非常简单的东西,所以任何输入和帮助都会非常感激。 谢谢:)

5 个答案:

答案 0 :(得分:3)

转到netbeans中的“运行”菜单或您正在使用的任何IDE =>设置项目配置,然后自定义。然后选择左侧下拉菜单中的库 添加适当的驱动程序文件jar或文件夹。 单击“确定”。

答案 1 :(得分:1)

jdbc:mysql://localhost/books是一个用于使用MySQL JDBC驱动程序直接连接到MySQL的URL。 JDBC / ODBC驱动程序使用的URL不同(请参阅http://docs.oracle.com/javase/1.3/docs/guide/jdbc/getstart/bridge.doc.html)。

不鼓励使用此JDBC / ODBC桥,并且仅应用于访问不提供任何JDBC驱动程序的数据库。这不是MySQL的情况。使用他们的JDBC驱动程序Connector/J。在类路径中使用此驱动程序后,可以使用当前正在使用的URL,并从类路径中删除JDBC / ODBC驱动程序(以及从代码中加载)。

答案 2 :(得分:1)

con = DriverManager.getConnection("jdbc:mysql://localhost:3306/books","root","1234");

答案 3 :(得分:1)

这个错误在我身上蔓延,因为我忘记添加 Class.forName 行。 mysql驱动程序jar在类路径上,但没有人隐式加载驱动程序类,因此会话工厂找不到任何加载的驱动程序类。因此这条线的目的。

在你的情况下,你加载了错误的东西。它应该是 Class.forName(“com.mysql.jdbc.Driver”) 如果您打算将它与 jdbc:mysql一起使用:/ / 连接。

答案 4 :(得分:1)

最佳解决方案bhai logo - :

转到JCreator配置菜单然后单击选项然后JDK配置文件然后双击到任何版本,使用自动提及那里然后单击添加存档然后转到该路径 - > C:\ Program Files \ MySQL \ MySQL Tools for 5.0 \ java \ lib \ mysql-connector-java-5.0.4-bin.jar按ok。