Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Потеря соединения с сервером MS SQL  [new]
Кузин Николай
Member

Откуда: Мурманская область, город Кировск
Сообщений: 15
Здравствуйте. Вопрос, на мой взгляд, специфический. Имеется программа на Delphi. База находится на сервере MS SQL 2000. Хочу обрабатывать ситуацию, когда происходит потеря соединения с сервером. Например произошло отключение електрической сети. Сервер, понятное дело, на бесперебойнике, а вот свитчи нет. Программа теряет SQL-сервер. Обработать эту ситуацию я могу, а вот как потом восстановить соединение не закрывая программу аварийно? Например выдаю сообщение пользователю: "Внимание! По каким-то причинам пропало соединение с SQL-сервером. Вы можете восстановить подключение нажав соответствующую кнопку в диалоге." и две кнопки в диалоге "Восстановить" и "Завершить работу".
Пытался сам писать процедуру восстановления подключения, но так ни к чему и не пришел. Датасеты не открываются заново. Connection тоже. Помогите пожалуйста. Заранее спасибо.
30 окт 09, 11:22    [7860634]     Ответить | Цитировать Сообщить модератору
 Re: Потеря соединения с сервером MS SQL  [new]
Glory
Member

Откуда:
Сообщений: 104760
Это вопрос в форум по вашему клиенту. Со стороны сервера вы никак не можете восстановить соединение
30 окт 09, 11:24    [7860652]     Ответить | Цитировать Сообщить модератору
 Re: Потеря соединения с сервером MS SQL  [new]
Supra93
Member

Откуда:
Сообщений: 8174
Кузин Николай
Датасеты не открываются заново. Connection тоже.

А что Вы делали чтобы они открывались заново?
30 окт 09, 11:34    [7860763]     Ответить | Цитировать Сообщить модератору
 Re: Потеря соединения с сервером MS SQL  [new]
Кузин Николай
Member

Откуда: Мурманская область, город Кировск
Сообщений: 15
Supra93
Кузин Николай
Датасеты не открываются заново. Connection тоже.

А что Вы делали чтобы они открывались заново?

У меня на таймере висит скрипт SELECT 'Test connection'. Если вдруг он не выполняется, то по except я вырубаю Connection (Connection.Connected := False). Затем, когда сервер уже точно доступен, в конструкции try...finally пишу Connection.Connected := True. Connection соединяется, а вот query, которые прицеплены к Connection'у нет... Я не гуру Delphi+SQL, поэтому не пинайте сильно. Как могу, так и реализовываю. Иначе бы не писал.
P.S. Может надо откл/вкл все query? У меня их очень много.
30 окт 09, 12:23    [7861282]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить