1

我正在尝试这种方法:如何从 MS Access 数据库中获取表名?和其他人,但它什么都不做。另外,发生了一个错误,说我没有读取 MSYSOBJECTS 的权限。

使用Java,如何从Ms. Access 2.0 中获取表名列表?

我需要这个,因为他们不允许我更改数据库格式或版本本身。

4

1 回答 1

2

从 MadProgrammer 在他的评论中的信息(非常感谢),我终于找到了解决方案。所以我使用这段代码

Connection conn;
String fileName = "C:/folder/AccessDB.mdb";
String dbString = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ="+fileName+";";

try {
    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    conn = DriverManager.getConnection(dbString, "", "");
    DatabaseMetaData md = conn.getMetaData();
    ResultSet rs = md.getTables(null, null, "%", null);
    String temp;
    while (rs.next()) {
        temp = rs.getString(3);
        if(!temp.contains("MSys")) {
            System.out.println(temp);
        }
    }
}
catch(ClassNotFoundException|SQLException e) {
    e.printStackTrace();
}
于 2013-09-29T08:19:55.440 回答