我想编写 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。
方法二:
或者,您可以执行本文中提到的一些查询。 Using SQL query to determine if a table exists
我想使用类似方法 1 而不是方法 2 来完成这项工作 - 这就是我的意思。
最佳答案
就这类事情查询数据库的纯 JDBC 方法是使用 DatabaseMetaData class在您的 Java 应用程序中。 DatabaseMetaData.getSchemas将为您提供数据库中的一组模式。 DatabaseMetaData.getTables将为您提供表格列表。您可以编写循环访问这些 ResultSet
对象的代码,以查看特定表或架构是否存在。
当然,在幕后,JDBC 驱动程序只是对 Oracle 数据字典执行 SQL 查询以获取此信息。
关于用于检查给定用户、架构、表是否存在的 Java 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11955709/