JdbcRowSet返回SQL异常

时间:2019-04-24 10:13:49

标签: java

请使用 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

}

1 个答案:

答案 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