无法将我的ms access与java连接
我尝试了多种方法将ms access 2010中的数据库与java连接起来,但都不起作用无法将我的ms access与java连接,java,ms-access,odbc,Java,Ms Access,Odbc,我尝试了多种方法将ms access 2010中的数据库与java连接起来,但都不起作用 通过将属性中的路径更改为%windir%\SysWOW64\odbcad32.exe,我将ODBC驱动程序路径从64位设置为32位 我在这个网站上下载了用于AccessDatabaseEngine_x64.exe的Microsoft Access数据库引擎2010可再发行版 我研究了网站的大部分内容,他们告诉我们下载数据库引擎2010。 但是,我仍然收到此错误: [Microsoft][ODBC驱动程序管理
%windir%\SysWOW64\odbcad32.exe
,我将ODBC驱动程序路径从64位设置为32位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是access文件的完整路径字符串,而不是:
String s = "jdbc:odbc:" + dsn;
con = DriverManager.getConnection(s, "", "");
你能给我们看看你的java代码吗;public void setUp(String dsn){try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);}catch(异常e){System.out.println(“加载驱动程序错误”);}try{String s=“jdbc:odbc:”+dsn;con=DriverManager.getConnection(“,”);}catch(异常e){e.printStackTrace();}公共结果集readRequest(字符串dbQuery){ResultSet rs=null;try{Statement stmt=con.createStatement();rs=stmt.executeQuery(dbQuery);}catch(异常e){e.printStackTrace();}返回rs;}通常,您会编辑原始问题以显示源代码。我会将其放入其中,但您可能需要修复格式。您的JDBC连接位看起来很可靠,因此问题可能与ODBC的设置有关。不幸的是,我不是ODBC和MS Access方面的专家……但这是我的代码。private connection con;public void setup(String dsn){try{Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);}catch(异常e){System.out.println(“加载驱动程序错误”);}try{String s=“jdbc:odbc:”+dsn;con=DriverManager.getConnection(“,”);}catch(异常e){e.printStackTrace();}公共结果集readRequest(String dbQuery){ResultSet rs=null;try{Statement stmt=con.createStatement();rs=stmt.executeQuery(dbQuery);}catch(异常e){e.printStackTrace();}return rs;}@GabrielHeng我已经根据您的反馈更新了解决方案。