【问题标题】:Java program and mySQL connectivity issue: No suitable driver foundJava 程序和 mySQL 连接问题:未找到合适的驱动程序
【发布时间】:2012-04-04 09:26:36
【问题描述】:

我的 mySQL 数据库连接出现问题。我收到一个错误:

找不到适合 jdbc:mysql://127.0.0.1/sakila 的驱动程序。

我已经安装了 mySQL 工作台,并从这里获得了驱动程序 http://dev.mysql.com/downloads/connector/j/

我已经保存了 mysql-connector-java-5.1.18-bin 并将类路径设置为

C:\Program Files\Java\jre7\lib\mysql-connector-java-5.1.18-bin;

并启动找到数据库的mysql工作台。

我使用的代码如下:我确信它可以工作,因为我已经请朋友从我这里测试它。不幸的是,我们正在不同的平台上开发,无法指导我如何修复此错误。有人知道我该如何解决这个问题吗?

public class Version {

public static void main(String[] args) {

    Connection con = null;
    Statement st = null;
    ResultSet rs = null;

    String url = "jdbc:mysql://127.0.0.1/sakila";
    //String url = "jdbc:mysql://localhost:3306/sakila";
    String user = "root";
    String password = "root";


    try {


        con = DriverManager.getConnection(url, user, password);
        st = con.createStatement();
        rs = st.executeQuery("select * from actor;");

        System.out.println("test");

        if (rs.next()) {
            System.out.println(rs.getString(1));
        }

    } catch (Exception ex) {
        System.out.println(ex);
}
}

}

编辑:问题已解决。没有将 .jar 附加到 bin 文件的末尾,这是必需的。

【问题讨论】:

  • 您能指定如何设置类路径吗? This post 可能会提供有关如何设置的提示 - 请注意条目周围的引号,因为“程序文件”中有一个空格
  • 你不应该有一个“mysql-connector-java-5.1.18-bin”的jar扩展吗?
  • 就是这样,.bin 文件是 windows 文件描述符中的 TYPE jar,但不是 .jar。
  • @sgmorrison 谢谢我看看。

标签: java mysql jdbc driver connectivity


【解决方案1】:

添加以下内容

String driver = "com.mysql.jdbc.Driver";
Class.forName(driver).newInstance();

就在“con = DriverManager.getConnection(url, user, password);”行之前

您需要做的就是在从驱动程序管理器获取连接之前加载驱动程序类。

【讨论】:

  • 您好,感谢您的建议。我现在得到一个类未找到异常
  • 在classpath中你应该设置绝对路径,直到jar文件名即C:\Program Files\Java\jre7\lib\mysql-connector-java-5.1.18-bin\.jar.
  • 我下载的驱动程序没有附带 jar 文件。如果您想查看,我发布了驱动程序下载页面的链接。
  • 我从同一个位置下载了包,我可以在 zip 包中看到 jar 文件“mysql-connector-java-5.1.18-bin.jar”。你确定你的 zip 没有 jar 吗?
  • 是的,这是我一直在使用的文件,但 .jar 不在实际文件名中。我会将 .jar 附加到类路径变量中,看看会发生什么。
【解决方案2】:

您需要在调用 getConnection 之前实例化驱动程序:

String pdriver = "com.mysql.jdbc.Driver";
Class.forName(pdriver).newInstance();

【讨论】:

  • 嗨,谢谢你的建议,但现在我得到了一个类未找到异常!
  • 您需要将 jar 库添加到您的类路径中。如果您使用的是 Eclipse:构建路径。
【解决方案3】:

您需要将 MySQL 连接器库 jar file 添加到类路径,而不是包含它的目录。

您没有使用像 Netbeans 或 Eclipse 这样的 IDE 吗?在 Windows 中搭建命令行开发环境并不难,但也并非易事

【讨论】:

  • JAR 文件是什么意思?这是我设置为类路径的 .bin 文件的文件类型。我没有在这个项目中使用 eclipse 或 netbeans。
  • mysql-connector-java-5.1.18-bin里面是什么?
  • 它永远不会打开。如果您想看一下,我发布了指向我下载的驱动程序的链接。
  • “mysql-connector-java-5.1.18-bin”的全称实际上是“mysql-connector-java-5.1.18-bin.jar”——这是有问题的JAR文件,以及包含com.mysql.jdbc.Driver类的那个。
【解决方案4】:

您需要将连接器 jar 文件放入您的 classpath...\jre1.6.0\lib\ext

Classpath is the one you should favor instead of the latter

【讨论】:

  • 我已经按照原帖中的说明设置了类路径!
猜你喜欢
  • 1970-01-01
  • 2012-01-20
  • 1970-01-01
  • 2018-08-04
  • 2016-04-02
  • 2017-08-26
  • 1970-01-01
  • 1970-01-01
  • 2018-08-27
相关资源
最近更新 更多