3

我想制作 Java 代码(也使用 Oracle 11g 和 JDBC)来检查特定用户或模式是否存在。如何通过仅使用 Java 代码而不是通过执行 SQL 查询(在我的 Java 代码中)来进行检查来做到这一点?

谢谢。

编辑 -

方法一:

在 MySQL 中,我们可以使用这样的东西 -

Connection conn = DriverManager.getConnection(url,username,password);
DatabaseMetaData DMD = conn.getMetaData();
ResultSet res = DMD.getCatalogs();
 while (res.next()) {
      String database = res.getString("TABLE_CAT");
}

现在在 while 中放置一个 if 来检查它是否存在 DB。

方法二:

或者,您可以执行本文中提到的一些查询。 使用 SQL 查询判断表是否存在

我想使用类似方法 1 的方法来完成这项工作,而不是方法 2 - 这就是我的意思。

4

1 回答 1

5

就这类事情询问数据库的纯 JDBC 方法是在 Java 应用程序中 使用DatabaseMetaData 类。DatabaseMetaData.getSchemas将为您提供数据库中的模式集。 DatabaseMetaData.getTables将为您提供表的列表。您可以编写遍历这些ResultSet对象的代码,以查看是否存在特定的表或模式。

当然,在幕后,JDBC 驱动程序只是对 Oracle 数据字典执行 SQL 查询以获取此信息。

于 2012-08-14T15:41:12.147 回答