【问题标题】:ODBC Connection with odbcad32.exe与 odbcad32.exe 的 ODBC 连接
【发布时间】:2014-05-08 09:34:26
【问题描述】:

我使用的是 Windows 7 64 位版本,并且我安装了 Office 32 位版本。 目前我正在使用 Access 开发一个图书馆管理系统。

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

Errorjava.sql.SQLException: [Microsoft][ODBC Driver Manager] 指定的 DSN 包含驱动程序和应用程序之间的体系结构不匹配

我也尝试从 Windows 运行以下 ODBC 版本

c:\windows\sysWOW64\odbcad32.exe

我确实从那里连接了我的访问文件。但我仍然在错误之上。

【问题讨论】:

  • 64 位操作系统需要 64 位驱动程序不是很有意义吗?为什么使用 Access 而不是 SQL Server、MySQL、PostgreSQL 或任何其他关系数据库?
  • 您运行的是哪个版本的 Java(32/64 位)?
  • @duffymo 感谢您的回复。是的,我将 MySQL (navicat) 用于我的其他 java 应用程序。但是对于这个项目,我们的讲座特别要求我们在 Access 中创建数据库。是的,你和 ederollora 建议我重新安装 office 64 并尝试运行该应用程序。
  • @Cory 我们如何查看 java 版本?
  • 你还是不走运 - Oracle 的 64 位 JVM 中没有 JDBC-ODBC 桥驱动程序。 Sun 在 32 位 JDK 1.0 中添加了它,但现在不可用。

标签: java sql odbc


【解决方案1】:

几天前我遇到了这个问题。首先您应该尝试使用 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 所说:“如果您想构建一个从 Excel 文件中读取数据的 SSIS 包,则它不适用于安装的 64 位 Office。”

【讨论】:

  • 附注:如果您想构建一个从 Excel 文件读取的 SSIS 包,它不适用于安装的 64 位 Office。此外,您对 Access Engine 的看法是正确的。
  • @ederolora 感谢您的建议。我会尝试重新安装办公室并检查
  • 就我而言,我安装了 64 位版本的 Office,但我使用的是 32 位 JDK。所以安装 64 位 JDK 对我来说是可行的。如果我是你,我会先尝试下载 32 位版本的 JDK,然后尝试使用它)
  • 在这里寻找你需要的32位版本(首先你需要知道你使用的是哪个JDK):oracle.com/technetwork/java/javase/archive-139210.html
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多