Главная страница
    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.47 MB
Время: 0.031 c
6-1089644126
Serg_lys
2004-07-12 18:55
2004.09.19
Работа с компонентом TNMSMTP как применить кодировку


14-1093691737
ИМХО
2004-08-28 15:15
2004.09.19
А где ветка про футбол?


1-1093967809
SMT
2004-08-31 19:56
2004.09.19
Самопроизвольное изменение размеров шрифта у компонентов формы


3-1092917512
andrey__
2004-08-19 16:11
2004.09.19
insert в св.SQL TADOQuery не вставляет время


4-1091642582
Def
2004-08-04 22:03
2004.09.19
Размер окна всплывающей подсказки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский