Спасибо за ответ. Но как в этом случае быть с такой ситуацией:
1. Пользователь делает запрос в OraQuery, в котором свойство FetchRows = 25:
2. На сервере открывается курсор, который, по мере прокрутки пользователем ползунка в DbGrid, возвращает по 25 записей.
3. SQL-монитор, с такими настройками, покажет лишь две записи:
- Connect: user@server::sid [OraSession1$026C0030]
- select * from table_with_100_millions_rows
Код: Выделить всё
object OraSQLMonitor1: TOraSQLMonitor
Options = [moDialog, moSQLMonitor, moDBMonitor, moCustom, moHandled]
TraceFlags = [tfQPrepare, tfQExecute, tfQFetch, tfError, tfStmt, tfConnect, tfTransact, tfBlob, tfService, tfMisc, tfParams, tfObjDestroy, tfPool]
OnSQL = OraSQLMonitor1SQL
Left = 408
Top = 8
end
В этом случае, пользователь может просматривать содержимое выборки, обмен данными через OraSession будет идти, но в OraSQLMonitor'е я этого не увижу и посчитаю, что соединение простаивает. Есть ли возможность отслеживать и fetch-события с помощью OraSQLMonitor ?
P.S. Возможности использовать события OraQueryAfterFetch и OraQueryBeforeFetch у меня нет ввиду архитектурных особенностей приложения.