Java:连接到MS-Access数据库(mdb或mde)

时间:2011-06-06 11:24:52

标签: java database ms-access jdbc odbc

我正在尝试使用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读取访问文件的方法吗?

3 个答案:

答案 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。另一个问题可能是,您的计算机上未安装驱动程序或您没有足够的权限。