Я пытаюсь использовать CachedRowSet с драйвером SQLite и Xerial https://bitbucket.org/xerial/sqlite-jdbc .
Если я вызову метод execute() следующим образом:
Connection connection = DriverManager.getConnection("jdbc:sqlite:sample.db");
CachedRowSet crs = new CachedRowSetImpl();
crs.setCommand("select * from person");
crs.execute(connection);
Я получаю SQLException "не реализовано драйвером SQLite JDBC":
at com.sun.rowset.internal.CachedRowSetReader.readData(Unknown Source)
at com.sun.rowset.CachedRowSetImpl.execute(Unknown Source)
at com.sun.rowset.CachedRowSetImpl.execute(Unknown Source)
at com.oracle.tutorial.jdbc.CachedRowSetSample.testPaging(CachedRowSetSample.java:100)
at com.oracle.tutorial.jdbc.CachedRowSetSample.main(CachedRowSetSample.java:273)
с другой стороны, ResultSet и populate() вместо excecute() работают нормально:
Connection connection = DriverManager.getConnection("jdbc:sqlite:sample.db");
statement = connection.createStatement();
ResultSet rs = statement.executeQuery("select * from person");
CachedRowSet crs = new CachedRowSetImpl();
crs.populate(rs);
Кто-нибудь знает, что не так с execute()?
CachedRowSet
, на мой взгляд, это довольно глючно и редко полезно. - person Mark Rotteveel   schedule 14.05.2017Exception in thread "main" java.sql.SQLException: not implemented by SQLite JDBC driver at com.sun.rowset.internal.CachedRowSetReader.readData(Unknown Source) at com.sun.rowset.CachedRowSetImpl.execute(Unknown Source) at First.rowSet1(First.java:33) at First.main(First.java:79)
- person Annie W.   schedule 14.05.2017CachedRowSetReader
, он выдает новое исключение с сообщением об исходном исключении без установки причина исключения... Как я уже сказал: на мой взгляд, это довольно глючно и редко полезно. - person Mark Rotteveel   schedule 14.05.2017