[英]How to connect to MS Access DB using Java + ODBC on Windows 7
我在这个问题上搜索了很多,答案不一致,没有帮助。 所以我想我可以在这里得到更多帮助。 我需要为下一个类用Java编写一个小应用程序,该类使用ODBC从MS Access数据库(mdb)获取数据。 我的操作系统是Windows 7 Ultimate 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!");
}
[/编辑]
而且不起作用。 我不知道如何解决问题,因为我不知道问题在哪里! 如果是ODBC驱动程序或Java或其他。
使用虚拟WinXP来完成这项工作太麻烦了。 这不可能永远持续下去。
[EDIT2]
可以肯定的是:它确实可以在WinXP上正常工作,这是隐含的。 :}
[/ EDIT2]
我能在这里获得任何帮助,我将不胜感激。 :DDDDD
因此,由于您已经安装了ODBC,因此您可能还需要确保使用相同的64位odbc驱动程序(如果在%WINDIR%\\ System32 \\ odbcad32.exe下创建了odbc连接)。 我知道事实上没有用于Access 2007的64位驱动程序,因此在我的情况下,我不得不创建32位odbc连接(%WINDIR%\\ SysWOW64 \\ odbcad32.exe),将Java版本降级为32位并使用32位驱动程序使其正常工作。
希望这可以帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.