Найдено 2 результата

azam123
Ср 25 июл 2018 10:08
Форум: Oracle Data Access Components
Тема: Время последней активности через OraSession
Ответы: 3
Просмотры: 14160

Re: Время последней активности через OraSession

Спасибо за ответ. Но как в этом случае быть с такой ситуацией:

1. Пользователь делает запрос в OraQuery, в котором свойство FetchRows = 25:

Код: Выделить всё

select * from table_with_100_millions_rows
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 у меня нет ввиду архитектурных особенностей приложения.
azam123
Вт 24 июл 2018 07:24
Форум: Oracle Data Access Components
Тема: Время последней активности через OraSession
Ответы: 3
Просмотры: 14160

Время последней активности через OraSession

Добрый день, имеется ли возможность с помощью компонента OraSession определить время простоя соединения? (время в течение которого не было никаких обращений к серверу через эту сессию или время, когда было последнее обращение). Это нужно для того, чтобы отключать клиентов, которые длительное время не используют соединение через конкретный экземпляр OraSession.

Odac 9.4.12 (Embarcadero XE7)