Мы автоматизировали процесс сбора базовых метрик различных запросов в рамках проекта настройки Oracle. Автоматизация выполняется с помощью сценария QTP, который выполняет процедуру, которая, в свою очередь, выполняет запрос указанное количество раз с различными входными параметрами. Когда выполнение хранимой процедуры завершено, он открывает OEM и сохраняет отчеты путем поиска определенного идентификатора SQL.
Мы столкнулись с проблемой при запуске хранимых процедур, у которых, в свою очередь, есть запросы, занимающие много времени. В таких случаях QTP выполняет хранимую процедуру в течение некоторого промежутка времени, и после этого он, кажется, был остановлен. Когда я проверяю OEM, через определенное время QTP прекращает выполнение хранимых процедур, и сеанс, по-видимому, истек.
Поскольку QTP использует ADO, нужно ли для свойства «CommandTimeout» соединения устанавливать какое-либо большое значение в случае выполнения хранимых процедур, которые занимают много времени? Не выдает ли QTP какую-либо ошибку в случае такой проблемы с тайм-аутом? В нашем случае статус QTP по-прежнему отображался как «Выполняется», даже если в серверной части ничего не происходило.