2011-06-06 153 views
3

我试图使用JDBC连接到MS-访问:ODBC:的Java:连接到MS-Access数据库(MDB或MDE)

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中访问文件的方式?

+1

你可以在url后面的冒号(:)之后去掉空格 – 2011-06-06 11:47:13

回答

4

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

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

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