我正在尝试获取表名中具有特殊字符的表的元数据。在正常情况下,我的代码工作正常,但我有一个表“TABLE[]}\|ABC”,其中 getColumns 没有返回任何值。
ResultSet rrc = meta.getColumns("SCHEMA_NAME", null, "TABLE_NAME", "%");
我还发现了一些奇怪的行为。只需在第一个参数中传递您的模式名称,并在其余 3 个参数中传递任何其他值。
ResultSet rrc = meta.getColumns("SCHEMA_NAME", null, null, "%");
while (rrc.next()) {
System.out.println("-- col: " + rrc.getString(4));
}
只需更改rrc.getString(4)(COLUMN_NAME)
或rrc.getString(3)(TABLE_NAME)
添加其他组合并查找您收到的相同结果集的记录数。它将根据您的选择而有所不同。