そもそも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