使用odbc-在Java中进行数据库连接:找不到Microsoft Access驱动程序(* .mdb * .accdb)选项

时间:2018-07-05 12:34:39

标签: java odbc ms-access-2007

我正在尝试使用odbc驱动程序将MS Office访问与我的Java代码连接。

精确地,在 ODBC数据源管理员中,当我单击添加按钮时,会出现创建新数据源对话框。

但是我找不到 Microsoft访问驱动程序(* .mdb * .accdb)选项。

只有一个名为SQL Server的选项。我的问题如下图所示。我正在使用Windows7。此 Microsoft访问驱动程序(* .mdb * .accdb)选项在哪里?

enter image description here

2 个答案:

答案 0 :(得分:0)

Microsoft停止了Windows驱动程序的交付。如果您没有安装Access,则可能没有数据库驱动程序。

您可以在此处下载Microsoft Access Database Engine,这将允许您打开Access文件。

答案 1 :(得分:0)

根据您的屏幕截图,我想说您在64位Wndows上遇到了ODBC驱动程序与ODBC客户端(在本例中为Java)之间的位数不匹配的情况。参见this article for some basics about that

对于所显示的内容,通常是最常见的,您可能正在64位Windows 7上运行32位Java,其中您具有用于SQL Server的32位ODBC驱动程序(在“驱动程序”列表中可见)和一个用于MS Access的64位ODBC驱动程序(由后面的“管理员”窗口中显示的用户DSN使用)。

  • 如果要坚持使用已安装的(或通过Java 7更新的)32位Java,则需要下载并安装适用于正确版本的MS Access的32位数据访问组件(本链接将使您components for MS Access 2010)。

  • 如果您更新到32位Java 8或更高版本,则需要下载并安装适用于正确版本的MS Access的32位数据访问组件(此链接将使您{{3} }),还需要添加第三方JDBC-to-ODBC桥(例如components for MS Access 2010)。

  • 如果切换到64位Java 7或更早版本(保留了Sun / Oracle JDBC到ODBC桥),则可以使用现有的64位ODBC驱动程序进行访问。

  • 如果切换到64位Java 8或更高版本,则可以使用现有的64位ODBC驱动程序进行访问,但是还需要添加第三方JDBC-to-ODBC桥(如this from my employer)。

也就是说-您可能在64位Windows 7上运行64位Java,其中您具有用于SQL Server的64位ODBC驱动程序(在“驱动程序”列表中可见)以及用于MS Access的32位ODBC驱动程序(由后面的“管理员”窗口中的User DSN使用)。

  • 如果要坚持使用已安装的(或通过Java 7更新的)64位Java,则需要下载并安装适用于正确版本的MS Access的64位数据访问组件(本链接将使您this from my employer)。

  • 如果您更新到64位Java 8或更高版本,则需要下载并安装适用于正确版本的MS Access的64位数据访问组件(此链接将使您{{3} }),还需要添加第三方JDBC-to-ODBC桥(例如components for MS Access 2010)。

  • 如果切换到32位Java 7或更早版本(保留了Sun / Oracle JDBC到ODBC桥),则可以使用现有的32位ODBC驱动程序进行访问。

  • 如果切换到32位Java 8或更高版本,则可以使用现有的32位ODBC驱动程序进行访问,但还需要添加第三方JDBC-to-ODBC桥(如components for MS Access 2010)。