Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
ВнизTOleException: ошибка подключения Найти похожие ветки
← →
yg © (2004-10-26 10:18) [0]Для получения данных с MS SQL Server 2000 пользуюсь следующим кодом:
SrvSet: TADODataSet;
...
if SrvSet.Active then SrvSet.Close;
SrvSet.CommandText := "select * from customers";
SrvSet.Open;
....
SrvSet.Close;
Похожие куски разбросаны по всей программе.
Возникла следующая проблема: Если сервер остановить, то все экземпляры программы, пытающиеся подключиться к серверу обламываются с сабжем. Но после того, как сервер снова будет запущен, данное исключение не исчезает, пока не перезапустишь саму программу. Соответственно все данные накопленные в этом сеансе работы программы невозможно сохнанить на сервере.
← →
Johnmen © (2004-10-26 10:23) [1]Копить не надо.
← →
yg © (2004-10-26 10:32) [2]Человек вбивает анкету. Не могу же я незаполненную до конца анкету через каждые 5 секунд сливать на сервер...
← →
Johnmen © (2004-10-26 10:36) [3]1. Учитывать текущую доступность выполнения запросов.
2. Обрабатывать ошибки.
3. Иметь возможность повторить сохранение "накопленных данных".
← →
yg © (2004-10-26 10:48) [4]>>1. Учитывать текущую доступность выполнения запросов.
А можно кусочек кода, который это демонстрирует.
>>3. Иметь возможность повторить сохранение "накопленных данных".
Собственно проблема именно в последнем пункте!!!
Еще раз:
1 шаг. Сервер остановлен. Пробуем обратиться: Облом. Понятно.
2 шаг. Сервер работает. Еще раз пробуем обратиться: Облом по той же причине!
Мне так кажется, что где-то в буфере или коллекции ошибок соединения осталась информация об ошибке. Этот буфер не очищается. И ошибка эта будет повторяться до посинения, пока не перезапустишь программу.
← →
Johnmen © (2004-10-26 10:53) [5]1. try <выполнить запрос> except <отключаемся> end
...
try <подключиться,выполнить запрос>
except <...>
end
Вобщем все обломы надо обрабатывать самому...
← →
yg © (2004-10-26 10:58) [6]Хорошо, а по самому вопросу: как победить?
← →
Johnmen © (2004-10-26 11:00) [7]Конкретизируй вопрос.
← →
yg © (2004-10-26 11:07) [8]ЕЩЕ РАЗ:
1 шаг. Сервер остановлен. Пробуем обратиться:
На Set1.Open возникает исключение:
TOleException: ошибка подключения
2 шаг. Сервер работает. Еще раз пробуем обратиться: Исключение повторяется, хотя причины для него исчезли. Вопрос: ПОЧЕМУ?
PS: Если что-то непонятно в постановке вопроса, задавайте дополнительные вопросы.
← →
Johnmen © (2004-10-26 11:14) [9]После первого шага (обработав исключение) надо отключиться (Close коннекта)
На втором - сначала подключиться, а потом повторить попытку (обрабатывая исключения)
>Вопрос: ПОЧЕМУ?
Т.е. почему причины исчезли ? :)))
← →
stone © (2004-10-26 11:15) [10]
> yg ©
А с какого перепуга у тебя сервер периодически останавливается? Может лучше эту проблему решить?
← →
yg © (2004-10-26 11:39) [11]>Johnmen
Я привел упрощенный код, а так я конечно обрабатываю исключения. Но проблема-то не исчезает. Вы попробуйте смоделировать - увидите сами.
>stone
Я не администратор, а программист. А вот люди, которые за тем компом сидят, очень любят его перегрузить и хотят, чтобы потом все работало :)))
← →
Johnmen © (2004-10-26 11:50) [12]>yg © (26.10.04 11:39) [11]
Дело в большей степени в Close/Open коннекта.
Да и зачем мне моделировать, если у меня все проекты работают...:)
← →
yg © (2004-10-26 11:56) [13]>Дело в большей степени в Close/Open коннекта.
Правда??? А я-то думал, где же проблема-то...
>Да и зачем мне моделировать, если у меня все проекты работают...:)
Слушай, а что ты тогда здесь выступаешь, раз помочь не хочешь, иди в "Просто треп" и там болтай ерундой.
← →
Vlad © (2004-10-26 12:02) [14]
> yg © (26.10.04 11:56) [13]
А чего ты хочешь? Если сервак упал, то коннект (который ты до этого открыл) уже мертвый. Даже если сервак снова заработал, коннект от этого живее не станет.
Поэтому тебе и говорят, что при эксепшене, нужно заново коннектиться к серверу, а ты похоже толи слушать не хочешь, толи проблему нормально объяснить не можешь.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.11.21;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.049 c