0
私はCiteRowSetをSQLiteとXerialドライバhttps://bitbucket.org/xerial/sqlite-jdbcで使用しようとしています。CachedRowSetとSQLite JDBCドライバ
私はそのようなexecute()メソッドを呼び出した場合:
Connection connection = DriverManager.getConnection("jdbc:sqlite:sample.db");
CachedRowSet crs = new CachedRowSetImpl();
crs.setCommand("select * from person");
crs.execute(connection);
を私は "SQLiteのJDBCドライバで実装されていません" のSQLException取得しています:一方のResultSetの上
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)
をして移入excecute()のexeedcute insteedが正常に動作するok:
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'を使用したいのですか?私の意見では、それはむしろバグであり、めったに役に立ちません。 –
上記の例外はOracleの例であり、私はコーディングを減らしましたが、ここでは完全な例外ですが、私の意見では新しい情報はありません: 'スレッド内の例外" main "java.sql.SQLException:SQLite JDBCドライバで実装されていませんFirst.main(First.java:79)のFirst.rowSet1(First.java:33)のcom.sun.rowset.CachedRowSetImpl.execute(Unknown Source)のcom.sun.rowset.internal.CachedRowSetReader.readData(未知のソース) ) ' –
実際にはSQLite JDBCドライバで実装されていないが、' CachedRowSetReader'の実際のコードを見て、それが新しい例外をスローするSQLiteドライバで呼び出されるメソッドを含む例外的な原因が予想されます例外の原因を設定せずに最初の例外のメッセージ...私が言ったように:私の意見ではむしろバギーであり、それはめったに有用ではありません。 –