我对这个问题进行了很多讨论,答案是不一致的,没有任何帮助。所以我想我可以在这里得到更多的帮助。 我需要用Java为我的下一个类编写一个小应用程序,它使用ODBC从MS Access数据库(mdb)获取数据。我的操作系统是Windows 7旗舰版64位。我知道SysWOW64文件夹中有一个odbcad32。 我设法在那里建立了一个DSN。但我无法连接。该应用程序抛出SQL异常。为 DriverManager.getConnection():
尝试了两种选择jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBH=E:/DB.mdb
和
jdbc:odbc:DSN_NAME
司机是:
sun.jdbc.odbc.JdbcOdbcDriver
[编辑]
连接代码基本上如下:
try {
Class.forName(driver);
db = DriverManager.getConnection(url);
}
catch(SQLException e) {
System.out.println("SQL error!");
}
catch(ClassNotFoundException e) {
System.out.println("Class not found!");
}
[/ EDIT]
并不起作用。我不知道如何解决这个问题,因为我不知道问题出在哪里!如果是ODBC驱动程序或Java或其他。
使用虚拟WinXP来完成这项工作太麻烦了。这不可能永远持续下去。
[EDIT2]
只是为了确定:它确实适用于WinXP。 :}
[/ EDIT2]
我很感激我能得到的任何帮助。 :DDDDD
答案 0 :(得分:2)
因此,既然您已经设置了ODBC,您可能还需要确保使用相同的64位odbc驱动程序(如果您在%WINDIR%\ System32 \ odbcad32.exe下创建了odbc连接)。我知道有一个事实是没有64位驱动程序用于访问2007所以在我的情况下,我不得不创建一个32位odbc连接(%WINDIR%\ SysWOW64 \ odbcad32.exe),将我的java版本降级为32位并使用32位驱动程序使其工作。
希望这有帮助!