argius note

プログラミング関連

SQLite+JDBC+Stew

StewでSQLiteに接続するのは、実はまだやったことがありませんでした。
今回、Trac関連でDBを直接覗くために試しました。

※この実験は、Stewのプラグイン的な接続設定で動作するかどうかを試したものです。普通にCLASSPATHに通せば問題なく動作すると思います。というか動作します。

SQLite Java Wrapper/JDBC Driver

製品名 : SQLite
製品バージョン : 2.8.17
ドライバ名 : SQLite/JDBC
ドライババージョン : 1.20090420

    • DLL付きドライバ(Type2?)。バージョンが2.x系?
    • 一番まともに動くが、同一プロセスでコネクション切断後、再接続するとエラー。再度、初期化してしまっている?

SQLiteJDBC

製品名 : SQLite
製品バージョン : 3.6.1
ドライバ名 : SQLiteJDBC
ドライババージョン : native

    • NestedVMというのを使ってnativeコードをJavaバイトコードに変換している?(Type4?)
    • SELECTすると、下記の例外が発生。
java.lang.IllegalStateException: SQLite JDBC: inconsistent internal state
	at org.sqlite.RS.checkCol(RS.java:62)
	at org.sqlite.RS.getColumnName(RS.java:326)
	at net.argius.stew.gui.ResultSetTable.outputResultSet(ResultSetTable.java:537)
(以下略)

SQLiteJDBC – Xerial

製品名 : SQLite
製品バージョン : 3.6.13
ドライバ名 : SQLiteJDBC
ドライババージョン : native

    • 同じくNestedVMを使ってる。(Type4?)
    • SQLiteJDBCとはリンク方法が異なるためかプラグインできない。

参考

JDBC一覧が良い感じです。