1

重複の可能性:
Microsoft Access および Java JDBC-ODBC エラー

そもそもDBの作成に問題がありました。Windows 7 の 64 ビット バージョンを使用していますが、エラーは Microsoft Office が 32 ビットであることがわかりました。c:\Windows\sysWOW64\odbcad32.exe にある odbcad32.exe を使用して、Access データベースを作成できました。

現在、私の Java コードでは、単に接続しようとしていますが、関連しているように見える問題が再び発生しており、せいぜいデータベースを正しくセットアップしていないように感じます。JavaDB は、ODBC:DSA で作成したデータ ソースの名前です。ここで確認できます: http://i.imgur.com/9n19x.png

私はインターネット全体を検索してきましたが、確かな明確な答えを実際に見つけることができません。ヘルプを本当に利用できました。詳細に感謝します!

編集:コードをクリーンアップしたところ、エラーが異なります。C:\Eclipse\project1\src のプロジェクト フォルダーに物理データベース ファイルがあります。ODBC で同じように設定しました。

EDIT EDIT:ええと、何時間もの研究の後、私は最終的にそれを理解することになりました. Office の Windows x64BIT および 32 ビット ドライバーとの互換性の問題であるため、問題は私のコードほどではありませんでした。この記事は私がそれを修正するのに役立ちました、そして今はうまくいきます! http://www.selikoff.net/2011/07/26/connecting-to-ms-access-file-via-jdbc-in-64-bit-java/

import java.sql.*;

public class DBTester {

public static void main(String[] args) throws SQLException, ClassNotFoundException {

try 
{

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");


    String fileName = "C:/Eclipse/school/bin/RegistrationDB.mdb";


    String dB = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+fileName;
    Connection connection = DriverManager.getConnection(dB,"","");

    System.out.println("connected");

    Statement s = connection.createStatement();
    s.close();
    connection.close();

} catch(Exception ex)
{

    ex.printStackTrace();

}


} // end main

} // end class
4

1 に答える 1