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

Вниз

Дисконнект?   Найти похожие ветки 

 
RavenD   (2004-09-21 18:24) [0]

Привет, All!

народ, подскажите как правильно отлавливать дисконнект с сервером (MSSQL, ORACLE), пользуюсь связкой TDataBase -> TQuery(TTable)

Спасибо.


 
Vlad ©   (2004-09-21 18:33) [1]


> RavenD   (21.09.04 18:24)  

Есть событие у TDataBase - Before/AfterDisconnect
Правда если враги перережут сетевой провод - это не поможет.


 
RavenD   (2004-09-22 09:10) [2]

>Vlad
а если как раз случится страшное "враги перережут сетевой провод" что ещё можно предпринять?


 
Johnmen ©   (2004-09-22 09:12) [3]

А ты хочешь сразу это обнаружить или при выполнении очередного запроса ?


 
Sergey13 ©   (2004-09-22 09:14) [4]

2[2] RavenD   (22.09.04 09:10)
>а если как раз случится страшное "враги перережут сетевой провод" что ещё можно предпринять?
1. Радио связь - резать нечего.
2. Харакири.


 
RavenD   (2004-09-22 09:19) [5]

> Johnmen

требуется коректно завершить всю работу, закрыть все открытые источники, и хотелось сделать это как то централизованно, без навешивания на каждый TTable, TQuery

> Sergey13
не надо глумится, если есть что сказать по существу обязательно выслушаю, а спамить не надо, пожалуста


 
KSergey ©   (2004-09-22 09:28) [6]

> [5] RavenD   (22.09.04 09:19)
> требуется коректно завершить всю работу, закрыть все открытые
> источники


С обрезанным-то проводом??? И после этого еще можно не глумиться? ;)


 
Sergey13 ©   (2004-09-22 09:34) [7]

2[5] RavenD   (22.09.04 09:19)
>не надо глумится, если есть что сказать по существу обязательно выслушаю, а спамить не надо, пожалуста
Ну во первых не спамить а флудить. 8-)
Во вторых я предложил конкретный выход от пореза - радио.
В третьих - это ты глумишься, требуя при обрезании кабеля корректного завершения сетевого приложения.


 
Johnmen ©   (2004-09-22 09:34) [8]

Тогда общий подход примерно такой.
1. Каждое действие (последовательность действий), приводящее к посылке запроса на сервер, заворачивается в try.
2. В except указанного try выставляем нашу глобальную переменную (напр. Connected) в False. Изначально она True.
3. Имеем таймер, в котором анализируем Connected. И если облом, то предпринимаем необходимые действия. Видимо, закрываем коннект.


 
Мышь   (2004-09-23 18:10) [9]

А зачем "закрывать все открытые источники"? Само все будет. На халяву, при разрушении соответствующих компонентов.



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

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

Наверх




Память: 0.48 MB
Время: 0.039 c
4-1095791292
Dot
2004-09-21 22:28
2004.10.24
Запись в файл и его создание


3-1096368295
yanker
2004-09-28 14:44
2004.10.24
Вопрос по запросу (:)) SQL


8-1091094409
Ricks
2004-07-29 13:46
2004.10.24
Длительность mp3 в DirectShow


14-1096917021
Piter
2004-10-04 23:10
2004.10.24
Кто-нибудь сможет сходу определить причину ошибки? :)


10-1051092870
sniknik
2003-04-23 14:14
2004.10.24
Какого клиента коннект? Midas.