Java中连接到Microsoft Access 2007数据库的正确方法是什么?

Leo*_*rdo 1 java jdbc ms-access-2007

我正在尝试使用jdbc-odbc桥创建一个简单的连接:

public static Connection  getConnection() {
    Connection con =null;
    try {
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
        String conStr = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=" +
            "c:\\myfolder\\accesdbfile.accdb";
        con = DriverManager.getConnection(conStr);
    } catch(Exception e) {
        e.printStackTrace();}
    return con;
}
Run Code Online (Sandbox Code Playgroud)

但后来我得到了这个例外:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key Temporary (volatile) Ace DSN for process 0xa4 Thread 0xec0 DBC 0x2f8574c                                                              Jet'.
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

2009年3月24日更新:现在它正在运作.创建了一个用户数据源,由于某种原因,该异常消失了.

作为一般问题,在Java中处理数据库连接的最佳方法是什么?

Rob*_*rco 6

通常,在Java中使用RDBMS的最佳方法是使用旨在直接连接到数据库的JDBC驱动程序.使用JDBC-ODBC桥往往会变慢.

如果您尝试使用Access数据库进行基本的读/写操作,我还建议您查看Jackcess库.