Netbeans 6.5でデータベースサービスを作成してSQLiteデータベースに接続する方法は?
質問
Netbeans IDE(6.5)を使用していますが、SQLite 2.xデータベースがあります。 zentus.com からJDBC SQLiteドライバーをインストールし、Nebeansサービスパネルに新しいドライバーを追加しました。次に、サービスからデータベースファイルに接続しようとしました>データベースに次のURLを使用しているデータベース:
jdbc:sqlite:/home/farzad/netbeans/myproject/mydb.sqlite
しかし、接続に失敗します。この例外が発生します:
org.netbeans.modules.db.dataview.meta.DBException: Unable to Connect to database : DatabaseConnection[name='jdbc:sqlite://home/farzad/netbeans/myproject/mydb.sqlite [ on session]']
at org.netbeans.modules.db.dataview.output.SQLExecutionHelper.initialDataLoad(SQLExecutionHelper.java:103)
at org.netbeans.modules.db.dataview.output.DataView.create(DataView.java:101)
at org.netbeans.modules.db.dataview.api.DataView.create(DataView.java:71)
at org.netbeans.modules.db.sql.execute.SQLExecuteHelper.execute(SQLExecuteHelper.java:105)
at org.netbeans.modules.db.sql.loader.SQLEditorSupport$SQLExecutor.run(SQLEditorSupport.java:480)
at org.openide.util.RequestProcessor$Task.run(RequestProcessor.java:572)
[catch] at org.openide.util.RequestProcessor$Processor.run(RequestProcessor.java:997)
どうすればよいですか? :(
解決
Zentus SQLiteJDBCの現在のバージョンは、SQLite 3.6.1に基づいたv053です。 2.x SQLiteデータベースは開きません。おそらく、SQLite 2.xコマンドラインツールを使用してデータベースを.dumpし、Sqlite3コマンドラインツールを使用して.loadすることができます。 Zentus SQLiteJDBCを使用して、新しいSQLite 3.xデータベースにアクセスします。
または、 this など、SQLite 2をサポートするJDBCドライバーを使用します。
他のヒント
また来ました...
最初の試みで2つの間違いを犯しました。 CLASSPATH
をシステム変数として設定した後(他にsmthを壊さなかったことを願っています:))、 sqlite_jni.dll
を system32
フォルダーに入れて、 JDBCのURL
を修正しました。
SQLite ODBCラッパー
もダウンロードしました。それをインストールし、通常の UTF8
ベースの ODBC
ドライバーを介して SQLite2
データベースに接続しました。また、この接続をセットアップできるように、組み込みの NetBeans JDBC-ODBC
ブリッジドライバーを使用しました。
3つの接続はすべて作成されていますが、次のとおりです。
-
通常のODBCドライバー
:テキストデータのエンコードが間違っています。他のすべての列は正しく表示されます -
UTF8 ODBCドライバー
:テキストデータがまったく表示されません。他のすべての列は正しく表示されます -
JDBCドライバー
:列がまったく表示されません。" Select * from my_any_table"
は常に空の single 列を返します
データベースにロシア語ベースのデータがあります。
だから...現在、sqliteコマンドラインインターフェイスに戻りました:))