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

Вниз

Теория коннекта   Найти похожие ветки 

 
Санек ©   (2004-02-13 18:16) [0]

Каким образом можно проверить есть ли коннект с сервером ? Как при обрыве коннекта определить что он оборвался ? Как при обрыве правильно его восстановить и где ?


 
Семен Сорокин ©   (2004-02-13 18:28) [1]

Каким образом можно проверить есть ли коннект с сервером ?
TDatabase.Connected, TADOConnection.Connected
Как при обрыве коннекта определить что он оборвался ? Как при обрыве правильно его восстановить и где ?
несколько сложнее, но может анализировать Exception в Application.onException, и пытаться реконнектиться.
А что часто коннект пропадает? Имхо, это надуманная проблема, если сбой в сети - ну перезапустит пользователь программу.


 
just me   (2004-02-13 18:41) [2]

Не все так просто. TADOConnection.Connected чудненько возвращает True, если после установления соединения его принудительно разорвать.
И проблема эта не всегда надуманная, например если коннекция рвется у сервера приложений. Тут пользователю трудно что-либо перезапустить.


 
Санек ©   (2004-02-13 18:45) [3]

Я всё это прекрасно понимаю и полностью согласен с just me, только есть же какие то разработки или идеи, не хочется изобретать велосипед


 
Санек ©   (2004-02-13 19:54) [4]

При проверке коннекта можно делать какой нибудь простой запрос и если ошибка, то значит коннекта нет. При потере коннекта можно обрабатывать код ошибки ADO - 2147467259 - он соответствует потери соединения и снова подключаться. - Это мои идеи, есть в них разум ? или можно проще ? или это вообще не правильно ? Подскажите пожалуйста, дайте дельный совет.


 
Digitman ©   (2004-02-14 11:44) [5]


> можно делать какой нибудь простой запрос и если ошибка,
> то значит коннекта нет


самая разумная идея ... в условиях когда сервер является удаленным и ВНЕ зависимости от типа сервера (неважно, MS SQL это, IB или еще какой-то)

потеря коннекта вполне м.б. связана с физическим отказом сет.транспорта, это означает НЕполучение клиентской стороной никаких сообщений с серверной стороны , в рез-те чего клиент находится в неведении о состоянии сервера .. отсюда вывод : "прощупать" сервер посылкой любого сообщения ему (хоть запрос , хоть еще что-то) ; TDI вернет отказ, в рез-те чего кл.задечые будет возвращен соотв.код ошибки


 
Digitman ©   (2004-02-14 11:45) [6]


> можно делать какой нибудь простой запрос и если ошибка,
> то значит коннекта нет


самая разумная идея ... в условиях когда сервер является удаленным и ВНЕ зависимости от типа сервера (неважно, MS SQL это, IB или еще какой-то)

потеря коннекта вполне м.б. связана с физическим отказом сет.транспорта, это означает НЕполучение клиентской стороной никаких сообщений с серверной стороны , в рез-те чего клиент находится в неведении о состоянии сервера .. отсюда вывод : "прощупать" сервер посылкой любого сообщения ему (хоть запрос , хоть еще что-то) ; TDI вернет отказ, в рез-те чего кл.задаче будет возвращен соотв.код ошибки


 
Johnmen ©   (2004-02-15 02:13) [7]

>Digitman ©

Полностью согласен...



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

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

Наверх




Память: 0.48 MB
Время: 0.019 c
14-43754
wasilla
2004-02-19 17:40
2004.03.14
Где скачать книгу Краснова по ОпенЖилях?


14-43815
Феликс
2004-02-22 18:44
2004.03.14
Просьба подсказать программу для торговой фирмы.


14-43868
McSimm
2004-02-18 14:52
2004.03.14
Платная сфера на сайте


1-43424
Manulo
2004-03-02 17:36
2004.03.14
Указатель в текстовом файле


1-43646
vlgrig1961
2004-03-02 10:12
2004.03.14
Как в QReport выводить вертикальный текст