jdbc元数据getTables仅列出表列表

时间:2012-12-06 10:00:38

标签: java jdbc metadata

我正在尝试列出数据库中的表,当我使用以下语法

ResultSet rs = md.getTables(null, null, "%" ,null);

这将返回数据库中的所有表,视图,索引,system_tables。

但我只需要公共架构中的表列表,所以我给出了以下语法,

ResultSet rs = md.getTables(null, "public", "%" ,"TABLE");

显示以下错误

required: String,String,String,String[]
found: <null>,String,String,String
reason: actual argument String cannot be converted to String[] by method invocation conversion

只需要从公共架构中单独列出表。

plz帮助语法

2 个答案:

答案 0 :(得分:6)

Javadoc建议你的最后一个参数应该是字符串的数组

public ResultSet getTables(String catalog,
                           String schemaPattern,
                           String tableNamePattern,
                           String[] types)
                    throws SQLException

答案 1 :(得分:6)

getTables()的签名需要一个数组作为第四个参数。尝试

ResultSet rs = md.getTables(null, "public", "%" ,new String[] {"TABLE"} );