Delirium, спасибо за ссылки. Они натолкнули меня на правильные мысли
Так как в SQL я чайник и разбираться нет времени, то написал поиск используя симбиоз Java и SQL.
Вот сам код, может кому пригодится:
Код:
public static void main(String[] args)
{
final String SEARCH_STRING_OF_CELL = "Искомый текст в ячейке";
final String HOST = "localhost";
final String PORT = "1521";
final String BASE_ID = "wind";
final String USER = "guest";
final String PASSWORD = "guest";
try
{
Class.forName("oracle.jdbc.driver.OracleDriver").newInstance();
Connection myCon = DriverManager.getConnection("jdbc:oracle:thin:@" + HOST + ":" + PORT + ":" + BASE_ID, USER, PASSWORD);
Statement mySt = myCon.createStatement();
System.out.println("Выполняю поиск...");
ResultSet rs = mySt.executeQuery("select * from user_tables");
//Формируем список имён таблиц
List<String> listTables = new ArrayList<String>();
while (rs.next()) listTables.add(rs.getString(1));
for(int i = 0; i<listTables.size(); i++)
{
ResultSet rs1 = mySt.executeQuery("select * from " + listTables.get(i));
while(rs1.next())
{
for(int j = 1; j<rs1.getMetaData().getColumnCount() + 1; j++)
{
Object cell = rs1.getObject(j);
if((cell instanceof String) && ((String)cell).compareToIgnoreCase(SEARCH_STRING_OF_CELL) == 0)
{
System.out.println("Имя таблицы \"" + listTables.get(i) +
"\", имя столбца \"" + rs1.getMetaData().getColumnName(j) +
"\", значение \"" + cell + "\"");
}
}
}
}
mySt.close();
myCon.close();
}
catch(Exception e)
{
e.printStackTrace();
}
System.out.println("Поиск завершен!");
}