【问题标题】:Get list of table names from Ms. Access 2.0 using Java使用 Java 从 Ms. Access 2.0 获取表名列表
【发布时间】:2013-10-04 10:02:40
【问题描述】:

我正在尝试这种方法:How can I get table names from an MS Access Database? 和其他方法,但它什么也没做。另外,发生了一个错误,说我没有读取 MSYSOBJECTS 的权限。

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

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

【问题讨论】:

  • 每个数据库都有些不同,但请查看 this example 和可能的 this example...
  • 请复制并粘贴您的工作代码以创建此问题的答案。 (在 Stack Overflow 上,用户回答他/她自己的问题是完全可以接受的。)
  • 好的,我已经修好了。放置 Class.forName 和 DriverManager 时出现错误。它应该在 try-catch 中被捕获

标签: java ms-access


【解决方案1】:

从 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();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    相关资源
    最近更新 更多