потеря коннекта после рестарта ib_server
Добавлено: 10 ноя 2005, 12:19
Доброго времени суток! Столкнулся с весьма неприятной штукой
Ситуация: служба firebird_server(v. 1.0.2.908) на серваке периодически перезапускается (после частых 10054), но проблема не в этом. На клиентах работает прога с SQL-запросами через IBQuery (delphi6) к базе на серваке. Если между запросами к базе был перезапуск службы FB_server, то при очередной попытке select выскакивает "Dataset Open" и прогу надо перезапускать... Алгоритм работы проги: запуск-connect-sql.close-sql.open-...-выход-disconnect.
Вариант запуск-connect-sql1.close-sql1.open-disconnect-connect-sql2.close-sql2.open-disconnect...-выход обходит ошибки, но серваку трудны частые коннекты/дисконнекты. Пробовал просто проверять состояние коннекта перед выполнением запросов - тоже ругается, если был перезапуск. Как определить, что служба перезапускалась и, соответственно, переконнектить клиента? Надеюсь, из муторного описания моей проблемы Вы что-нить поняли... Заранее Спасибо.

Ситуация: служба firebird_server(v. 1.0.2.908) на серваке периодически перезапускается (после частых 10054), но проблема не в этом. На клиентах работает прога с SQL-запросами через IBQuery (delphi6) к базе на серваке. Если между запросами к базе был перезапуск службы FB_server, то при очередной попытке select выскакивает "Dataset Open" и прогу надо перезапускать... Алгоритм работы проги: запуск-connect-sql.close-sql.open-...-выход-disconnect.
Вариант запуск-connect-sql1.close-sql1.open-disconnect-connect-sql2.close-sql2.open-disconnect...-выход обходит ошибки, но серваку трудны частые коннекты/дисконнекты. Пробовал просто проверять состояние коннекта перед выполнением запросов - тоже ругается, если был перезапуск. Как определить, что служба перезапускалась и, соответственно, переконнектить клиента? Надеюсь, из муторного описания моей проблемы Вы что-нить поняли... Заранее Спасибо.