java - 使用 UCanAccess 通过 JDBC 获取数据库名称

标签 java jdbc ucanaccess

编辑:

我正在测试在另一篇文章中找到的这段代码,以查找数据库名称:

public static String getDBname(Connection conn) {
    String result = null;
    int i = 0;
    try {
        ResultSet rs = conn.getMetaData().getCatalogs();

        while (rs.next()) {
            System.out.println(rs.getString(i));
            i ++;
        }

    } catch (SQLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    return result;
}

但是它只是返回给我这个错误:

net.ucanaccess.jdbc.FeatureNotSupportedException: Feature not supported.
at net.ucanaccess.jdbc.UcanaccessDatabaseMetadata.getCatalogs(UcanaccessDatabaseMetadata.java:310)

还有其他方法可以做到这一点吗?

最佳答案

对于 UCanAccess,“数据库名称”只是 .accdb 或 .mdb 文件的名称。可以通过从返回的连接 URL 中提取它来检索

conn.getMetaData().getURL()

例如,

jdbc:ucanaccess://C:/Users/Public/UCanAccessTest.accdb;memory=false

关于java - 使用 UCanAccess 通过 JDBC 获取数据库名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34208162/

相关文章:

java - 平均成绩计算器不返回正确答案

database - 使用 SQL :2008 standard on PostgreSQL using prepared statements 限制结果

java - 使用 JDBC 将用户定义的表类型传递给 SQL Server 存储过程

java - UCanAccess 打开数据库时出现 "User lacks privilege or object not found"错误

java - 如何从 Java 中的 InputStream 打开 MS Access 文件?

java - UCAExc:::3.0.7 未知标记:插入日期时出错

java - 如何知道我的 threadPoolExecutor 中哪个特定的可运行程序已死亡?

java - Android WebView - shouldOverrideUrlLoading 没有调用 url 请求

java - 我的 getView 方法没有被调用以在 ListView 中填充数据

java - 我想在JDBC中插入SQL的特殊字符