【问题标题】:ODBC connection to Access database in 64-bit Windows在 64 位 Windows 中与 Access 数据库的 ODBC 连接
【发布时间】:2013-09-16 01:47:59
【问题描述】:

我正在使用this tutorial 创建从 Java 应用程序到 Microsoft Access 2010 数据库的数据库连接。本教程在 windows 中创建一个系统 dsn,然后使用以下 java 代码行连接到该系统 dsn:

Connection conn = DriverManager.getConnection("jdbc:odbc:DSN_NAME");   

问题是,当我点击链接添加新系统dsn时:

Control Panel --> System and Security --> Administrative Tools --> Data Sources (ODBC) --> (System DSN Tab) --> (Add.. button)  

它没有让我选择 Microsoft Access 作为数据库类型。相反,给出的选项显示在以下打印屏幕中:

我想知道这是否是驱动程序问题,我需要下载一些东西。或者如果是配置问题。我使用的是 Windows 7。谁能告诉我如何解决这个问题,以便我可以创建完成本教程所需的系统 dsn?或者至少告诉我另一种从 java 连接到 Microsoft Access 数据库的简单方法?

【问题讨论】:

标签: java windows ms-access jdbc


【解决方案1】:

64 位 Windows 计算机具有两个单独的“ODBC 数据源管理器”控制面板:一个为 64 位应用程序创建 64 位 DSN,另一个为 32 位应用程序创建 32 位 DSN。在 64 位 Windows 机器上,

控制面板 > 管理工具 > 数据源 (ODBC)

将打开 64 位 ODBC 数据源管理器。要打开 32 位对应项,您需要运行

C:\Windows\SysWOW64\odbcad32.exe

您看不到 Access 数据库驱动程序,因为您运行的是 64 位版本的 Windows,并且 Windows 中没有包含 64 位 Access 驱动程序。 Windows 确实附带 32 位 Jet 驱动程序(仅限 .mdb 文件)。

因此,您需要执行以下操作之一:

  • 如果您运行的是 32 位版本的 Java,并且想要连接到 .mdb 文件,那么您需要如上所述启动 32 位 ODBC 数据源管理器。

  • 如果您运行的是 32 位版本的 Java,并且您希望能够同时连接到 .accdb.mdb 文件,那么您需要下载并安装 32 位版本的 Access来自here 的数据库引擎,然后如上所述启动 32 位 ODBC 数据源管理器。

  • 如果您运行的是 64 位版本的 Java,则需要从 here 下载并安装 64 位版本的 Access 数据库引擎。

【讨论】:

  • +1 以获得如此彻底的答案。我不需要使用 Access 数据库引擎,因为我在机器上安装了 Access。我确实找到了 32 位 ODBC 数据源管理器,但解决方案更多来自配置 eclipse 以运行 32 位 jdk 以连接到 32 位 DNS。干杯!
  • 我删除了一些多余的帖子,以便网站更易于使用。感谢您关注新问题。按照其他帖子中的说明,我能够让我的一个 Eclipse 项目使用 32 位 jdk:stackoverflow.com/questions/9302687/…
猜你喜欢
  • 2012-10-15
  • 1970-01-01
  • 2011-03-25
  • 1970-01-01
  • 2012-05-04
  • 2015-05-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多