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

Вниз

Объясните мне работу АДО-соединений, а то там фигня какая-то...   Найти похожие ветки 

 
Aleksandr.   (2004-08-18 19:54) [0]

Суть задачи в том, чтобы в программе соединения работали только на период реального обращения к таблице, так как SQL-Server периодически отрубается на бэкап и все соединения разрушаются (я писал по этому поводу запрос). Стал высматривать, в каких участках кода у меня остаются открытые соединения.
Создаю ADOConnection, ставлю ему KeepConnection=false, создаю ADOQuery, ему в Connection ставлю этот ADOConnection, делаю SQL.Add(), открываю, смотрю при этом через Process Explorer на TCP - полная фигня творится. Еще во время SQL.Add появляется порт на Listened, затем при открытии появляется еще порт на Listened и на этот же порт Established. Потом закрываю ADOQuery - тот порт, на котором было Listened и Established, через некоторое время из списка пропадает, а первый так и остается висеть. Что это за нафиг и как с ним бороться?


 
surkis   (2004-08-18 20:30) [1]

> Что это за нафиг и как с ним бороться?

А чего с ним бороться? Зачем тебе постоянно держать ADOConnection открытым? Когда закрываешь ADOQuery, закрывай ADOConnection, а перед открытием ADOQuery открываешь ADOConnection


 
Aleksandr.   (2004-08-18 20:37) [2]

surkis   (18.08.04 20:30) [1] :

Так мне как раз и не надо, чтобы соединение оставалось открытым. Речь как раз о том и идет, что появляются слушалки двух портов при работе с ADO, из которых исчезает по закрытии только одна.


 
KSergey ©   (2004-08-19 07:22) [3]

Я пнимаю так. Вы немного слишком плотно к задаче подошли.
Query отработал?
Connection отрубился (Close вызван)?

Ну и чудненько! И не хай себе сервер рубится на бэкап или что там еще. А какие там порты или что еще - боюсь, нифига тут не поделать. На кой порты-то сдались?


 
jocko   (2004-08-19 09:31) [4]

если можно - поподробнее, причем здесь TCP?
насколько я понимаю на сервере остаются незакрытые процессы, список которых видно хотябы через sp_who2, не уверен, возможно, бэкап их завершает, так вот при чем здесь порты?
И главное - в чем вообще проблема, обработай ошибку и создай новое соединение.


 
Aleksandr.   (2004-08-19 14:18) [5]

Попытаюсь раскрыть суть трабла истчо детальнее. Когда при добавлении в Query текста запроса появляется левая, неубирающаяся  "слушалка", все последующие добавления текстов в запросы начинают "ходить" через нее. То есть если я создам истчо одну пару Connection-Query, они отработают и закроют свои порты, но при при добавлении текста в их запросы на каком-то уровне происходит работа с этой слушалкой, и при отключенном MS SQL Server это приводит к ошибке, определяемой как "Неизвестная ошибка". То есть даже при включении сервера эта слушалка остается висеть сломанной и даже при наличии нормальных коннектов от ADOConnection попытки хотя бы добавить текст в запрос приводят к исключительной ситуации. Так что нет проблем отработать ошибку с созданием управляемого соединения, но никак не могу убрать из системы созданное на другом уровне служебное соединение, через которое АДО пытается толкнуть какие-то свои заморочки.


 
KSergey ©   (2004-08-19 14:29) [6]

Я правда не сталкивался именно с такой ситуацией...
Но если делать так:

1.подключиться клиетном к серверу
2.выполнить запрос
3.закрыть соединение
4.перезапустить сервер
5.подключиться клиетном к серверу
6.выполнить запрос
7.закрыть соединение

Неужели после п.4 не удасться соединиться? Не проверял, признаться, но что-то не очень верится в такое...


 
Aleksandr.   (2004-08-19 16:13) [7]

KSergey ©   (19.08.04 14:29) [6]:
Ну я же несколько раз объяснил, что соединение через Connection работает, но в программе остаются висеть какие-то сломанные служебные соединения, от которых невозможно избавиться!


 
KSergey ©   (2004-08-19 21:06) [8]

>  [7] Aleksandr.   (19.08.04 16:13)
> но в программе остаются висеть какие-то сломанные
> служебные соединения, от которых невозможно избавиться!

Но чем они мешают - можно узнать??



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

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

Наверх




Память: 0.49 MB
Время: 0.055 c
3-1093095065
Koala
2004-08-21 17:31
2004.09.19
Ошибка при создании триггера (Parsing error)


14-1093525768
Копир
2004-08-26 17:09
2004.09.19
H E L P. Damned Javaw !


14-1093867492
ydv
2004-08-30 16:04
2004.09.19
Метод Фолля


6-1089736761
Vladimir_v
2004-07-13 20:39
2004.09.19
Увеличение Headera письма?


14-1093688385
able
2004-08-28 14:19
2004.09.19
Как сделать два монитора независимыми друг от друга?