【问题标题】:JAVA 10 - java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/ errorJAVA 10 - java.sql.SQLException:没有为 jdbc:mysql://localhost:3306/ 找到合适的驱动程序错误
【发布时间】:2019-01-29 02:21:58
【问题描述】:

我知道这是一个老问题,但这里的情况不同。这似乎是 JAVA 10 或 MySQLConnector/J 8.0.12 jar 类的错误。

在我之前使用的 JAVA 8 和 MySQLConnector/J 5.1.39 上运行良好的相同项目(很多,而不仅仅是一个)现在在我更新系统后无法运行。

但该错误仅出现在 RowSet 中。使用明确使用的 DriverManager/Connection/ResultSet,它在相同的 url、url 参数和 MySQL 驱动程序下工作得很好。

我尝试过多地使用 Class.forName("")... 以及 url 参数的变体,但是当我使用 RowSet 时没有任何效果。同样的 java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/scheme1?verifyServerCertificate=false&useSSL=true 被一次又一次抛出。

为什么相同的代码适用于 Java 8 而不是 Java 10?

try {
        RowSet rowSet = RowSetProvider.newFactory().createCachedRowSet();
        String url = "jdbc:mysql://localhost:3306/scheme1?verifyServerCertificate=false&useSSL=true";
        rowSet.setUrl(url);
        rowSet.setUsername("root");
        rowSet.setPassword("root");
        rowSet.setCommand("select * from client");
        rowSet.execute();
        while(rowSet.next()) {
            System.out.println(rowSet.getInt(1)+" "+rowSet.getString(2));
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }enter image description here

(查看有错误的图片)。

如果有人知道问题和解决方案,请提供帮助。我想继续使用 Java 10。

丹尼尔·皮涅罗

danielpm1982@gmail.com

【问题讨论】:

  • 我没有查到。我认为最新的驱动程序版本与 jdk 9 和 10 兼容(他们现在应该为 java 11 做一个驱动程序)。那我得等了……不知道为什么他们总是太迟了。至少,使用 DriverManager/Connection/ResultSet 它确实有效。只有 RowSet 没有。 Hibernate 也适用于使用 jdk 10 的驱动程序。我已经测试过了。

标签: java java-10 mysql-8.0 rowset


【解决方案1】:

mysql-connector.jar 适用于 JAVA 8 您需要等到 MySQL 推出适用于 JAVA 10 的连接器或降级到 JAVA 8。

【讨论】:

  • 我没有查到。我认为最新的驱动程序版本与 jdk 9 和 10 兼容(他们现在应该为 java 11 做一个驱动程序)。那我得等了……想知道为什么他们总是迟到。至少,使用 DriverManager/Connection/ResultSet 它确实有效。只有 RowSet 没有。 Hibernate 也适用于使用 jdk 10 的驱动程序。我已经对其进行了测试。
猜你喜欢
  • 1970-01-01
  • 2012-07-30
  • 2014-06-09
  • 2020-05-21
  • 2015-01-29
  • 2021-05-18
  • 2015-02-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多