gpt4 book ai didi

java - 无法使用 java 连接我的 ms access

转载 作者:行者123 更新时间:2023-12-01 04:59:20 24 4
gpt4 key购买 nike

我尝试了多种方法使用 java 从 MS Access 2010 连接数据库,但不起作用。

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

  2. 我在此网站下载了 Microsoft Access Database Engine 2010 Redistributable for AccessDatabaseEngine_x64.exe。 http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=13255

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

[Microsoft] [ODBC driver manager] The specified DSN contains an architecture mismatch between the Driver and Application.

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

当前源代码

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 位略有不同。这是一个和你经历过同样痛苦的人,written an article以及如何解决这个问题。

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

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

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

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

关于java - 无法使用 java 连接我的 ms access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13584189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com