Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.12;
Скачать: CL | DM;

Вниз

Oracle. Компоненты DOA. Где TimeOut?   Найти похожие ветки 

 
Hiqwer   (2002-11-20 19:43) [0]

Есть ли возможность в указанных компонентах прервать выполнение длительного запроса по истечению некоторого TimeOut? Все мои попытки приводят к сбою и снятию приложения.


 
Sergey13 ©   (2002-11-21 09:35) [1]

http://www.farpost.com/personal/dmitryb/RUS/default.htm
Там есть Oracle Cancelable Utils Add-on для DOA (Direct Oracle Access) которая Содержит набор функций позволяющих открывать запросы с возможностью их прерывания во время выполнения.
Как работает не знаю, не юзал.


 
hiqwer   (2002-11-21 20:04) [2]

Спасибо Sergey13 за ссылку. Попробую разобраться.

Есть мнение, что TimeOut-ы можно установить непосредственно в OraClient или Net8.
Нет ли информации в таком разрезе?


 
Sergey13 ©   (2002-11-22 09:21) [3]

Насколько я знаю такого в Оракле нет, чтобы установить таймаут на запросы. Откуда оракл знает - может ты специально такой здоровый запрос заколбасил. Тестировать надо на тестовом сервере. Можно поставить тайм аут на активность сессии через профили типа нет активности 15 минут - нафиг эту сессию. Но это, ИМХО, не то что ты хочешь.


 
Hiqwer   (2002-11-22 17:59) [4]

Убивать сессии - это немного не то, хотя тоже вариант.

Я вообще продпологал, что таймауты должен отслеживать не Oracle сервер, а то через чего подключались.

Конкретно: у ODBC и ADO connection присутствуют параметры - таймаут на время соединения, и на время выполнения запроса, что собственно можно посмотреть в обычном TADOConnection.

DOA построены на OCI, и почему-то аналогичных параметров не имеют. Хотя реально (на практике) тайаут на время попытки подключения имеется. А выполнение запроса можно прервать в любой момет (TOracleSession.BreakExecute), если запрос делается в отдельном потоке (thread). Это, кстати, используется в Oracle Cancelable Utils Add-on (твоя ссылка, работает вроде нормально). Мне приходиться далать запросы в отдельных потоках и прерывать по таймеру (не очень удобно).

От этого и появилось жучее желание обозначить таймауты как-то попроще. Они просто обязаны быть где-то либо в клиенской части Oracle, либо в Net8.





Страницы: 1 вся ветка

Текущий архив: 2002.12.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.022 c
14-36398
Владик_1
2002-11-18 17:22
2002.12.12
Windows 3 инсталяция Где?


1-36173
Kolja
2002-12-04 01:59
2002.12.12
Посылка сообщения


1-36084
Barmutik
2002-11-29 11:45
2002.12.12
Перенос элементов в TreeView на одном уровне...


8-36296
frofis
2002-08-29 12:46
2002.12.12
различный вывод графики


6-36323
Pavel Dovgalenko
2002-10-17 07:45
2002.12.12
Как узнать IP адрес машины по ее доменному имени?