2

I am using this tutorial to create a database connection from a java application to a Microsoft Access 2010 database. The tutorial creates a system dsn in windows, and then connects to that system dsn using the following line of java code:

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

The problem is that, when I click the link to add a new system dsn at:

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

It does not give me an option to choose Microsoft Access as the database type. Instead, the options given are shown in the following printscreen:

I am wondering if this is a driver issue, where I need to download something. Or if it is a configuration issue. I am using Windows 7. Can anyone show me how to fix this so that I can create the System dsn required to complete this tutorial? Or at least show me another easy way to connect to a Microsoft Access database from java?

4

1 回答 1

4

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 数据库引擎,然后启动 32 位 ODBC如上所述的数据源管理员。

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

于 2013-09-12T00:19:09.010 回答