1

jdbc-odbc ブリッジを使用して単純な接続を作成しようとしています。

public static Connection  getConnection() {
    Connection con =null;
    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String conStr = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" +
            "c:\\myfolder\\accesdbfile.accdb";
        con = DriverManager.getConnection(conStr);
    } catch(Exception e) {
        e.printStackTrace();}
    return con;
}

しかし、私はこの例外を受け取ります:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0xa4 Thread 0xec0 DBC 0x2f8574c                                                              Jet'.

何か案は?

2009 年 3 月 24 日更新: 動作するようになりました。ユーザー データ ソースを作成しましたが、何らかの理由で例外がなくなりました。

一般的な質問として、Java でデータベース接続を処理する最良の方法は何ですか?

4

3 に答える 3

6

一般に、Java で RDBMS を操作する最良の方法は、データベースに直接接続するように設計された JDBC ドライバーを使用することです。JDBC-ODBC ブリッジの使用は遅くなる傾向があります。

Access データベースで基本的な読み取り/書き込み操作を実行しようとしている場合は、Jackcessライブラリも参照することをお勧めします。

于 2009-03-24T03:28:20.707 に答える
2

一般的な質問に答えるために、Java でデータベース接続を処理する最善の方法は、JDBC-ODBC ブリッジを避けることだと思います。JDBC のテストや学習には問題ありませんが、実際の運用には使用できません。また、独自の JDBC ドライバーを持たず、ODBC ドライバーを持っているデータ ソースがある場合、選択の余地がない可能性があります。

ただし、これを避けることをお勧めする主な理由は、アプリケーションのデプロイが難しくなるためです。アプリケーションを実行しているマシンでデータ ソースを設定する必要があります。マシンにアクセスできる場合は問題ありませんが、アプリケーションをクライアントに送信するとしますか? 純粋な Java JDBC ドライバーは、アプリケーションの一部として組み込まれているため、これに適しています。アプリケーションをインストールすると、データ ソースに接続する準備が整います。

もちろん、要件に応じて、他に 2 つのタイプのドライバーがありますが、それは別の議論です。

于 2009-03-24T03:15:34.593 に答える