При получении метаданных таблицы, в которой есть столбцы типа объекта.при вызове DatabaseMetaData.getColumns и итерации по набору результатов с использованием следующего метода возникает исключение
ORA-01427: однострочный подзапрос возвращает более одной строки
private void searchForColumnNameInTables(DatabaseMetaData dmd) throws SQLException {
Iterator iter = listOfTables.iterator();
while (iter.hasNext()) {
String tableName = (String) iter.next();
java.sql.ResultSet rs1 = dmd.getColumns(catalog, schema, tableName, "%"); //
//java.sql.ResultSet rs1 = dmd.getUDTs(tableName, schema, "%", null);
while (rs1.next()) {
String colName = rs1.getString(4);
String colType = rs1.getString(5);
System.out.println("Table " + tableName + " ColumnName" + colName + " ColumnType" + colType);
if (colName.trim().toLowerCase().equals(colNameToSearchFor)) { //
System.out.println("found '" + colNameToSearchFor + "' in " + tableName);
}
}
}
}