0

私は 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)

私は何をすべきか?:(

4

2 に答える 2

1

Zentus SQLiteJDBC の現在のバージョンは v053 で、SQLite 3.6.1 に基づいています。2.x SQLite データベースは開きません。おそらく、SQLite 2.x コマンド ライン ツールを使用してデータベースを .dump し、Sqlite3 コマンド ライン ツールを使用してデータベースを .load することができます。Zentus SQLiteJDBC を使用して、新しい SQLite 3.x データベースにアクセスします。

または、このような SQLite 2 をサポートする JDBC ドライバーを使用します。

于 2008-12-01T00:45:10.757 に答える
0

それはまた私です...

私は最初の試みで 2 つの間違いを犯しました。システム変数として設定CLASSPATHした後(他の問題が発生していないことを願っています:))、sqlite_jni.dllフォルダーsystem32に配置して修正JDBC urlすると、成功しました:)

私もダウンロードしましたSQLite ODBC wrapper。それをインストールし、SQLite2通常のUTF8ベースのODBCドライバーを介してデータベースに接続しました。NetBeans JDBC-ODBCこの接続をセットアップできるように、組み込みのブリッジ ドライバーも使用しました。

3 つの接続はすべて作成されていますが、次の点に注意してください。

  • ordinary ODBC driver: 間違ったエンコーディングのテキスト データが表示されます。他のすべての列は正しく表示されます

  • UTF8 ODBC driver: テキスト データがまったく表示されません。他のすべての列は正しく表示されます

  • JDBC driver: 列がまったく表示されません。"Select * from my_any_table"常に空の単一の列を返します

データベースにロシア語ベースのデータがあります。

だから...現在、私はsqliteコマンドラインインターフェースに戻っています:))

于 2010-06-10T01:56:24.887 に答える