Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java:连接到MS Access数据库(mdb或mde)_Java_Database_Ms Access_Jdbc_Odbc - Fatal编程技术网

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

Java:连接到MS Access数据库(mdb或mde),java,database,ms-access,jdbc,odbc,Java,Database,Ms Access,Jdbc,Odbc,我正在尝试使用JDBC:ODBC连接到MS Access: public boolean connectToAccess(String accessFilePath) { //Get connection to database try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); myConnection = DriverManager.getConnection("jdbc: odbc: dr

我正在尝试使用JDBC:ODBC连接到MS Access:

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驱动程序(*.mdb)};DBQ=file.mdb” 为什么?
您能推荐另一种读取Java中access文件的方法吗?

从连接字符串中去掉这些空格,看看是否有帮助。我还建议打印堆栈跟踪

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;
}

读取Access文件的另一种方法是使用库。

尝试从odbcad32为Access数据库创建DSN。另一个问题可能是,您的计算机上没有安装驱动程序,或者您没有足够的权限。

您应该删除URLjackAccess中冒号(:)后的空格,这非常有用,而且易于集成。