jdbc元数据getTables仅列出表列表

MAH*_*AHI 2 java metadata jdbc

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

ResultSet rs = md.getTables(null, null, "%" ,null);
Run Code Online (Sandbox Code Playgroud)

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

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

ResultSet rs = md.getTables(null, "public", "%" ,"TABLE");
Run Code Online (Sandbox Code Playgroud)

这告诉我以下错误

required: String,String,String,String[]
found: <null>,String,String,String
reason: actual argument String cannot be converted to String[] by method invocation conversion
Run Code Online (Sandbox Code Playgroud)

只需要从公共模式中单独列出表.

plz帮助语法

Bri*_*new 6

Javadoc中表明您的最后一个参数应该是一个数组的字符串.

public ResultSet getTables(String catalog,
                           String schemaPattern,
                           String tableNamePattern,
                           String[] types)
                    throws SQLException
Run Code Online (Sandbox Code Playgroud)


Jim*_*son 6

getTables()期望数组作为第四个参数的签名.尝试

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