在64位Windows中与Access数据库的ODBC连接

时间:2013-09-11 21:08:15

标签: java windows ms-access jdbc

我使用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.任何人都可以告诉我如何解决这个问题,以便我可以创建完成本教程所需的System dsn吗?或者至少告诉我另一种从java连接到Microsoft Access数据库的简单方法?

1 个答案:

答案 0 :(得分:3)

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位来自here的Access数据库引擎版本,然后如上所述启动32位ODBC数据源管理器。

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