我正在尝试这种方法:如何从 MS Access 数据库中获取表名?和其他人,但它什么都不做。另外,发生了一个错误,说我没有读取 MSYSOBJECTS 的权限。
使用Java,如何从Ms. Access 2.0 中获取表名列表?
我需要这个,因为他们不允许我更改数据库格式或版本本身。
我正在尝试这种方法:如何从 MS Access 数据库中获取表名?和其他人,但它什么都不做。另外,发生了一个错误,说我没有读取 MSYSOBJECTS 的权限。
使用Java,如何从Ms. Access 2.0 中获取表名列表?
我需要这个,因为他们不允许我更改数据库格式或版本本身。
从 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();
}