我正在尝试这种方法:How can I get table names from an MS Access Database?和其他方法,但它什么也没做。此外,发生错误表示我无权阅读MSYSOBJECTS。
通过使用Java,如何从Access 2.0女士获取表名列表?
我需要这个,因为我们不允许他们更改数据库格式或版本本身。
答案 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();
}