-1

我在谷歌上搜索了很多这个问题,答案不一致,没有任何帮助。所以我想我可以在这里得到更多帮助。我需要为我的下一个类用 Java 编写一个小应用程序,它使用 ODBC 从 MS Access 数据库(mdb)中获取数据。我的操作系统是 Windows 7 Ultimate 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!");
    }

[/编辑]

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

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

[编辑2]

只是为了确定:它确实可以在 WinXP 上运行,就像隐含的那样。:}

[/EDIT2]

我将非常感谢我能在这里得到的任何帮助。:DDDD

4

1 回答 1

2

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

希望这可以帮助!

于 2010-11-21T01:58:31.357 回答