繁体   English   中英

无法将我的MS Access与Java连接

[英]Cannot connect my ms access with java

我尝试了多种方法来将ms access 2010中的数据库与Java连接起来,但是它不起作用。

  1. 通过将属性中的路径更改为%windir%\\SysWOW64\\odbcad32.exe将ODBC驱动程序路径从64位设置为32位。

  2. 我在此网站上下载了AccessDatabaseEngine_x64.exe的Microsoft Access数据库引擎2010可再发行组件。 http://www.microsoft.com/zh-CN/download/details.aspx?displaylang=en&id=13255

我研究了大多数网站,他们告诉我们下载数据库引擎2010。但是,我仍然收到此错误:

[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配。

有人可以发布逐步指南来解决我的问题吗? 任何帮助将不胜感激。

当前源代码

private Connection con; 
public void setUp(String dsn) {
    try { 
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    } catch (Exception e) { 
        System.out.println("Load driver error"); 
    } try { 
        String s = "jdbc:odbc:" + dsn; 
        con = DriverManager.getConnection(s, "", ""); 
    } catch (Exception e) {
        e.printStackTrace(); 
    } 
} 

public ResultSet readRequest(String dbQuery) { 
    ResultSet rs = null; 
    try { 
        Statement stmt = con.createStatement(); 
        rs = stmt.executeQuery(dbQuery); 
    } catch (Exception e) { 
        e.printStackTrace(); 
    } 
    return rs; 
}

连接64位JVM和64位MS-Access与64位稍有不同。 这是一个和您一样痛苦的人,并写了一篇有关如何解决问题的文章

基本上,如果您使用64位库,则需要稍微更改连接字符串。 用这个:

String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+fileName;
con = DriverManager.getConnection(url,"","");

其中filename是访问文件的完整路径的字符串,而不是:

String s = "jdbc:odbc:" + dsn; 
con = DriverManager.getConnection(s, "", "");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM