连接到MS Access 2007时出错

时间:2013-06-01 13:38:27

标签: java ms-access jdbc ms-access-2007

尝试与Access 2007数据库建立JDBC连接时出错。

环境详情:Windows 7 64-bit, JRE 7 64-bit, Access 2007 32-bit

driver = "sun.jdbc.odbc.JdbcOdbcDriver";
url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ="+database+";";
DriverManager.getConnection(url, dbusername, dbpassword);

我收到以下异常

java.sql.SQLException: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

2 个答案:

答案 0 :(得分:1)

安装32位版本的Access只会安装32位版本的Access数据库引擎。明显的解决方法是从here下载并安装64位版本的Access数据库引擎,但如果64位安装程序在计算机上检测到任何32位Office应用程序,它将退出。所以,你的选择是:

  • 切换到32位Java环境,或

  • 切换到64位版本的Access。

答案 1 :(得分:1)

JdbcOdbcDriver只是ODBC的桥梁。您正在使用Access 32位,因此它的ODBC为32位。您将无法在普通的ODBC管理器中看到它,并且必须使用C:\ Windows \ SysWOW64 \ odbcad32.exe才能看到它。因此,Java 64将无法找到它。

基本上,你要做的事情是不可能的。您应该使用Java 32位来运行它。我认为Access 2007没有ODBC 64位,但如果你使用Java 64是最重要的,那么你可以试试这个路径。无论如何你的问题的根源是在Window 64你有2个不同的DSN集,一个用于64 -bits和一个32位,只能使用C:\ Windows \ SysWOW64 \ odbcad32.exe

查看