我正在尝试使用JDBC连接到MS-Access:ODBC:
public boolean connectToAccess(String accessFilePath) {
//Get connection to database
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
myConnection = DriverManager.getConnection("jdbc: odbc: driver={Microsoft Access Driver (*.mdb)};DBQ=" + accessFilePath);
} catch (Exception ex) {
System.out.println(ex);
return false;
}
return true;
}
我收到错误: “没有为jdbc找到合适的驱动程序:odbc:driver = {Microsoft Access Driver(* .mdb)}; DBQ = file.mdb” 为什么? 你能建议另一种用Java读取访问文件的方法吗?
答案 0 :(得分:3)
从连接字符串中取出这些空格,看看是否有帮助。我还建议打印堆栈跟踪。
public boolean connectToAccess(String accessFilePath) {
//Get connection to database
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
myConnection = DriverManager.getConnection("jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=" + accessFilePath);
} catch (Exception ex) {
ex.printStackTrace();
return false;
}
return true;
}
答案 1 :(得分:2)
读取Access文件的另一种方法是使用Jackcess库。
答案 2 :(得分:1)
尝试从odbcad32为Access数据库创建DSN。另一个问题可能是,您的计算机上未安装驱动程序或您没有足够的权限。