如何在Windows7上使用Java+ODBC连接到MS Access数据库

如何在Windows7上使用Java+ODBC连接到MS Access数据库,java,database,ms-access,odbc,windows-7-x64,Java,Database,Ms Access,Odbc,Windows 7 X64,我在谷歌上搜索了很多这个问题,答案前后矛盾,没有一个有用的答案。所以我想我可以在这里得到更多的帮助。 我需要用Java为下一个类编写一个小应用程序,该类使用ODBC从MS Access数据库MDB获取数据。我的操作系统是Windows7终极64位。我知道SysWOW64文件夹中有一个odbcad32。 我设法在那里建立了一个DSN。但我无法连接。应用程序抛出一个SQL异常。尝试了DriverManager.getConnection的两个备选方案: 及 司机是: sun.jdbc.odbc.Jd

我在谷歌上搜索了很多这个问题,答案前后矛盾,没有一个有用的答案。所以我想我可以在这里得到更多的帮助。 我需要用Java为下一个类编写一个小应用程序,该类使用ODBC从MS Access数据库MDB获取数据。我的操作系统是Windows7终极64位。我知道SysWOW64文件夹中有一个odbcad32。 我设法在那里建立了一个DSN。但我无法连接。应用程序抛出一个SQL异常。尝试了DriverManager.getConnection的两个备选方案:

司机是:

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来完成这项工作太麻烦了。这不可能永远持续下去

[编辑二]

可以肯定的是:它确实可以在WinXP上运行,正如所暗示的那样。}

[EDIT2]


如果能在这里得到任何帮助,我将不胜感激DDDDD

因此,既然您已经安装了ODBC,那么如果您在%WINDIR%\System32\odbcad32.exe下创建了ODBC连接,您可能还需要确保使用相同的64位ODBC驱动程序。我知道access 2007没有64位驱动程序,因此在我的例子中,我必须创建一个32位odbc连接%WINDIR%\SysWOW64\odbcad32.exe,将java版本降级为32位,并使用32位驱动程序使其正常工作


希望这有帮助

不知道你希望得到什么样的帮助。您发布的伪代码的随机位看起来合理,但您还没有发布显示实际演示代码的SSCCE。您还没有说明SQLException是什么。所以我们没有什么可以继续的了。我希望现在能继续下去我觉得,如果你在谷歌上搜索到不满意的答案,那么把其中一些答案包括进来并解释为什么它们没有解决你的问题是有意义的。芬顿先生,我很乐意提供你需要的任何细节。8D在我看来是一个常见的问题,即使没有一个好的googleable解决方案,所以我认为任何有经验的Java程序员都可以很容易地找出问题的根源。这就是为什么我没有污染这个问题。这就是我的想法,但我很难找到正确的版本。我又试了一次,似乎我很幸运。它起作用了:D非常感谢。
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!");
    }