我知道这是一个老问题,但这里的情况不同。这似乎是 JAVA 10 或 MySQLConnector/J 8.0.12 jar 类的错误。
在我之前使用的 JAVA 8 和 MySQLConnector/J 5.1.39 上运行良好的相同项目(很多,而不仅仅是一个)现在在我更新系统后无法运行。
但该错误仅出现在 RowSet 中。使用明确使用的 DriverManager/Connection/ResultSet,它在相同的 url、url-parameters 和 MySQL 驱动程序下工作得很好。
我尝试过多地使用 Class.forName("")... 以及 url 参数的变体,但是当我使用 RowSet 时没有任何效果。同样的 java.sql.SQLException: No proper 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