JDBC-ODBC 経由で Access ファイルに接続するアプリケーションで発生した問題に対処しています。他の Windows プラットフォームでは、この問題は発生していませんが、Windows 7 64 ビット ボックスでは、DSN を使用しない接続文字列で接続しようとすると、次のように返されます。
java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
文字列に対して複数のバリエーションが試行されましたが、すべて同じエラーが返されました。現在、接続を試みる方法は次のとおりです。
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
StringBuffer databaseConnectionString;
if (SystemUtils.IS_OS_WINDOWS_7) {
databaseConnectionString = new StringBuffer("jdbc:odbc:DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=");
databaseConnectionString.append(databaseFile);
} else {
databaseConnectionString = new StringBuffer("jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=");
databaseConnectionString.append(databaseFile);
databaseConnectionString.append(";DriverID=22;READONLY=false}");
}
32 ビット ODBC データ ソース管理でドライバーを調べると、ドライバーが存在することが確認されます。ただし、regedt32.exe を使用して ODBC ドライバーを調べると(HKEY_LOCAL_MACHINE/SOFTWARE/ODBC/ODBCINST.INI/ODBC Drivers)
、どれも表示されません。
誰かがこれに光を当てるのを助けることができますか?