Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для EvgeniyQQQ

Пользователь


Сообщения: 133
Благодарности: 21

Профиль | Сайт | Отправить PM | Цитировать


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("Поиск завершен!");
}

-------
"Не соглашайся ни на что, кроме совершенства!" - Анонимный автор.
"Совершенство достигается только к моменту полного краха." - К.Н.Паркинсон.

Это сообщение посчитали полезным следующие участники:

Отправлено: 19:46, 09-08-2010 | #5