使用Java获取Ms 2.0的表名列表

时间:2013-09-28 00:47:04

标签: java ms-access

我正在尝试这种方法:How can I get table names from an MS Access Database?和其他方法,但它什么也没做。此外,发生错误表示我无权阅读MSYSOBJECTS。

通过使用Java,如何从Access 2.0女士获取表名列表?

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

1 个答案:

答案 0 :(得分: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();
}