请使用 RowSetProvider 帮助我,它会引发SQL异常
(找不到适用于jdbc:mysql:// localhost:3306的驱动程序)
同时 Drivermanager.getConnection()正常运行。
public static void main(String[] args) throws SQLException {
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/zoo?serverTimezone=UTC", "hbstudent",
"hbstudent");
System.out.println(con.getCatalog()); // <-- works OK
// ****************************************************
JdbcRowSet rs = RowSetProvider.newFactory().createJdbcRowSet();
rs.setUrl("jdbc:mysql://localhost:3306/zoo?serverTimezone=UTC");
rs.setUsername("hbstudent");
rs.setPassword("hbstudent");
rs.setCommand("select 1");
rs.execute(); //<-- Exception in thread "main" java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/zoo?serverTimezone=UTC
}
答案 0 :(得分:0)
我不假装引入有效的解决方案,但是最近我在使用Java SE Development Kit 11.0.1时创建 JdbcRowSet 和 CachedRowSet 对象时遇到了同样的问题。 + MySQL服务器8.0.16 +连接器/ J 8.0.16驱动程序。
在将JDK更新为最新版本12.0.1之后,问题就消失了。
P.S。
但是要做好准备,在成功创建 JdbcRowSet 对象之后,尝试更新它时可能会遇到另一种问题。有关详细信息,请参见"java.sql.SQLException: ResultSet is not updatable" with JdbcRowSet。