При попытке законнектится сегодня(т.е. до этого все работало нормально!) почему-то приложение стало виснуть. Причем :
1)Enterprise manager видит сервак нормально.
2)При пошаговом дебаге соединение происходит нормально.
С logintimeout Я уже экспериментировал как мог — не помогает. Не подскажете, в чем может быть дело??
Здравствуйте, black__andy, Вы писали:
__>Здравствуйте,
__>есть класс из SQLDMO — SQLServer2. Написан примерно такой код коннекта
__> sqlServer.LoginSecure = true; __> sqlServer.Connect(txtBxSrv.Text, String.Empty, String.Empty);
__>При попытке законнектится сегодня(т.е. до этого все работало нормально!) почему-то приложение стало виснуть. Причем : __>1)Enterprise manager видит сервак нормально. __>2)При пошаговом дебаге соединение происходит нормально.
__>С logintimeout Я уже экспериментировал как мог — не помогает. Не подскажете, в чем может быть дело??
Сервер в каком режиме работает?
Суть вот в чем может быть (буду описывать как в Oracle, в SQLServer должны быть подобные механизмы тоже): Сервер может работать в 2 режимах, DEDICATED (на каждого юзера свой обработчик, память и т.п) и SHARED (все в одном котле варятся). Разница в том, что в DEDICATED создается еще одно подключение на другой порт (не на том, на котором сервер слушает) о котором клиент с сервером дополнительно договариваются. И если этот доп. порт закрыт, например, файрволлом где-то, то все выглядит как истечение времени на коннект. В SHARED все происходит только на том порту, на котором слушает сервер. Этот режим обычно испольлзуется, когда клиент цепляется, например, по SSH и можно открыть или промапить всего один порт.
Короче, совет: смотри, не рубят ли тебя файрволлом или еще чем где-нибудь по дороге.
Здравствуйте, black__andy, Вы писали:
__>спасибо, разобрался, но проблема была не в этом,
__>коннекшен шаред, только, почему-то мой запрос перебивал одновременный из другого трэда
я при работе с OLEDB (через ADO.NET) встречался с внутреними deadlock'ами в библиотеке, для нормальной работы пришлось программу запускать не в STA, a в MTA