jdbc之无法在 Win 7 64 位上通过 JDBC 连接到 MS Access 数据库

TianFang 阅读:66 2024-12-31 21:38:35 评论:0

我一直在尝试通过 JDBC 连接到 MS Access 2007 数据库。我的 JDK 是 JDK 1.6u18 64 位,操作系统是 Windows 7 64 位。但问题是我无法使用 Windows\system32\odbcad32.exe 创建 DSN因为它根本不显示 MS Access 的 ODBC 驱动程序,它只显示 MS SQL Server 的驱动程序。

当尝试单击“MS Access 数据库”配置(我猜这是一个已经创建的 DSN)时,它首先显示错误消息:“Microsoft Access Drivers (*.mdb, *.accdb) 的设置例程) 找不到 ODBC 驱动程序。请重新安装驱动程序。” 然后是另一条消息:“发现错误!指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配。”

我无法重新安装 MDAC,因为它不适用于 Windows 7(自带 WDAC)。

Windows\SysWOW64中的odbcad32.exe确实让我为 MS Access 创建一个 DSN,它显示驱动程序安装正确。但是,当尝试通过 Java 程序连接到该 DSN 时,出现以下异常:

java.sql.SQLException: [Microsoft][ODBC Driver Manager] The specified DSN contains 
an architecture mismatch between the Driver and Application 
            at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source) 
            at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source) 
            at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source) 
            at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source) 
            at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source) 
            at java.sql.DriverManager.getConnection(Unknown Source) 
            at java.sql.DriverManager.getConnection(Unknown Source) 
            at AccessTest.main(AccessTest.java:19) 

可能是什么问题,我需要做什么才能使其正常工作?我的操作系统和 JDK 都是 64 位的。我无法连接到我认为是 32 位的 Access 2007 数据库吗?任何帮助将不胜感激。另外,如果有人认为这不是这个问题的正确位置,我提前道歉。然后请引导我到合适的论坛。

另一种选择是为 MS Access 寻找第三方 JDBC 驱动程序。但我确实需要知道我的配置有什么问题。 :-/

PS:我知道那里有很多更好的数据库可用,但由于一些不幸的原因,我不得不只使用 MS Access 并且必须让它正常工作。

请您参考如下方法:

您是否看过 Access 2010 驱动程序?根据我的阅读,他们使用 64 位。

http://www.microsoft.com/downloads/details.aspx?FamilyID=C06B8369-60DD-4B64-A44B-84B371EDE16D&displaylang=ja&displaylang=en


标签:数据库
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号