2014-03-28 71 views
0

我使用的是Windows 7 64位版本,并且安装了Office 32位版本。 目前我正在使用Access开发图书馆管理系统。使用odbcad32.exe进行ODBC连接

我遇到的问题是,每当我尝试连接到Access文件时,出现以下错误 。

Errorjava.sql.SQLException:[微软] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序

我试图通过运行下面的ODBC版本也从窗户

C间的结构不匹配: \ windows \ sysWOW64 \ odbcad32.exe

我没有连接我的访问文件。但是我仍然遇到了错误。

+0

对于64位操作系统,你需要一个64位驱动程序是否合理?为什么您使用Access而不是SQL Server,MySQL,PostgreSQL或任何其他关系数据库? – duffymo

+0

您运行的是哪个Java版本(32/64位)? –

+0

@duffymo谢谢你的回复。是的,我使用MySQL(navicat)为我的其他Java应用程序。但对于这个项目,我们已经被我们的讲座特别要求在Access中创建数据库。当你和ederollora建议重新安装Office 64并尝试运行应用程序。 – user3003900

回答

0

几天前我有这个问题。首先,您应该尝试使用32位JDK(例如:JDK版本6u45应该是= "Windows x86 --- 69.85 MB --- jdk-6u45-windows-i586.exe"),并检查使用32位JDK和32位驱动程序是否一起工作。

如果不起作用,您应该卸载32位Office版本并安装64位版本,该版本将携带您需要的合适64位驱动程序。一旦你安装了它,你就可以运行java应用程序并正确地连接到数据库。

您也可以尝试下载将在您的计算机上安装驱动程序的this file(AccessDatabaseEngine_X64.exe)(在我的情况下,我需要查询Access数据库,不知道这是你的情况),但我认为它赢了在卸载32位驱动程序之前不要安装它。

注:

由于Cory指出:“如果你想建立一个SSIS包从Excel文件读取,它不会安装64位Office的工作。”

+0

备注:如果您想要构建从Excel文件读取的SSIS包,则它将不适用于安装的64位Office。另外,您对Access Engine是正确的。 –

+0

@ederollora感谢您的建议。我会尝试重新安装办公室并检查 – user3003900

+0

在我的情况下,我安装了64位版本的Office,但我使用的是32位JDK。所以安装64位JDK在我的情况下工作。如果我是你,我会首先尝试下载你的JDK的32位版本,并试试这个) – ederollora