Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
1-1099500646
SelloutS
2004-11-03 19:50
2004.11.21
Как сгенерировать несколько чисел сумма которых = 1


3-1098786783
Артем К.
2004-10-26 14:33
2004.11.21
Какие компоненты использовать для работы с MySQL Server?


14-1099672063
Agent13
2004-11-05 19:27
2004.11.21
Delphi 8, 9 и WinXP Home


3-1098685941
Nikolay_S
2004-10-25 10:32
2004.11.21
Microsoft OLE DB Provider for Oracle


1-1099934526
interloper
2004-11-08 20:22
2004.11.21
TListView





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский