【问题标题】:Getting error while making connection to MS Access 2007 [duplicate]连接到 MS Access 2007 时出错 [重复]
【发布时间】:2013-06-01 13:38:26
【问题描述】:

我在尝试与 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

【问题讨论】:

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


    【解决方案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 看到

    【讨论】:

      【解决方案2】:

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

      • 切换到 32 位 Java 环境,或

      • 切换到 64 位版本的 Access。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-01-14
        • 1970-01-01
        • 2017-11-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-17
        相关资源
        最近更新 更多