如何在Windows 7上使用Java + ODBC连接到MS Access DB

时间:2010-11-20 23:08:06

标签: java database ms-access odbc windows-7-x64

我对这个问题进行了很多讨论,答案是不一致的,没有任何帮助。所以我想我可以在这里得到更多的帮助。 我需要用Java为我的下一个类编写一个小应用程序,它使用ODBC从MS Access数据库(mdb)获取数据。我的操作系统是Windows 7旗舰版64位。我知道SysWOW64文件夹中有一个odbcad32。 我设法在那里建立了一个DSN。但我无法连接。该应用程序抛出SQL异常。为 DriverManager.getConnection()

尝试了两种选择
jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBH=E:/DB.mdb

jdbc:odbc:DSN_NAME

司机是:

sun.jdbc.odbc.JdbcOdbcDriver

[编辑]

连接代码基本上如下:

    try {
        Class.forName(driver);
        db = DriverManager.getConnection(url);
    }
    catch(SQLException e) {
        System.out.println("SQL error!");
    }
    catch(ClassNotFoundException e) {
        System.out.println("Class not found!");
    }

[/ EDIT]

并不起作用。我不知道如何解决这个问题,因为我不知道问题出在哪里!如果是ODBC驱动程序或Java或其他。

使用虚拟WinXP来完成这项工作太麻烦了。这不可能永远持续下去。

[EDIT2]

只是为了确定:它确实适用于WinXP。 :}

[/ EDIT2]

我很感激我能得到的任何帮助。 :DDDDD

1 个答案:

答案 0 :(得分:2)

因此,既然您已经设置了ODBC,您可能还需要确保使用相同的64位odbc驱动程序(如果您在%WINDIR%\ System32 \ odbcad32.exe下创建了odbc连接)。我知道有一个事实是没有64位驱动程序用于访问2007所以在我的情况下,我不得不创建一个32位odbc连接(%WINDIR%\ SysWOW64 \ odbcad32.exe),将我的java版本降级为32位并使用32位驱动程序使其工作。

希望这有帮助!