java - DatabaseMetataData 看不到表

标签 java oracle11g

我使用带有 hibernate 功能的 Oracle 11g。 Hibernate 配置为在启动时验证架构,但由于某种原因,它找不到一个表并失败。

我遇到了一种奇怪的情况,当java.sql.DatabaseMetaData看到同一架构中的其他表时,它看不到一个表(getTables返回空结果集)。

所以我有以下情况:

String[] TYPES = {"TABLE", "VIEW"};
DatabaseMetaData meta = ...
meta.getTables(null, "SCHEMA_NAME", "TABLE1", TYPES).next(); // true
meta.getTables(null, "SCHEMA_NAME", "TABLE2", TYPES).next(); // false

但是以下查询已成功执行:

select * from schemaName.table1
select * from schemaName.table2

更多我可以查询字典表并查看这两个表:

select * from user_tables where table_name in ('TABLE1', 'TABLE2')

可能是什么原因?

最佳答案

DatabaseMetaData md = connection.getMetaData();
ResultSet rs = md.getTables(null, null, "%", null);
while (rs.next()) {
  System.out.println(rs.getString(3));
}

尝试上面的代码

第3列代表Table_name 点击了解全部专栏numbers

关于java - DatabaseMetataData 看不到表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19293592/

相关文章:

java - 简单的 Java 同步块(synchronized block)可以抛出异常吗?

java - 使用凯撒密码和给定方法进行加密..Java

oracle11g - SSL 和 Oracle HTTP 服务器 (OHS)

java - ORA-12514 : TNS:listener does not currently know of service requested in connect descriptor

java - Java中有没有 "noreturn"关键字

java - 如何让程序在继续之前等待输入

java - Jetty 7 - 禁用根文件夹/处的目录列表

plsql - 用于测试字符串是否为数字的简单 PL/SQL 函数

ruby-on-rails - 如何使用 ruby​​ on rails 事件记录创建二进制索引?

apache - 为什么 Oracle Access Manager 的 HTTP header 不从 IHS 传递到 WebSphere?