Поскольку я могу пропинговать и попытаться подключиться к database2.ehost-services.com (хотя мне не удалось войти в систему), давайте попробуем упростить вашу строку подключения:
Data Source=database2.ehost-services.com;Initial Catalog=myDatabaseName;User ID=myUser;Password=myP@ssword;
ИЗМЕНИТЬ
Чтобы ответить на ваш вопрос о том, почему время ожидания вашей строки подключения не истекло, MSDN описывает атрибут pooling
строки подключения следующим образом:
Если для этого ключа задано значение true, любое вновь созданное соединение будет добавлено в пул при закрытии приложением. При следующей попытке открыть то же соединение это соединение будет извлечено из пула.
Соединения считаются одинаковыми, если они имеют одинаковую строку соединения. Различные соединения имеют разные строки подключения.
Значение этого ключа может быть «истина», «ложь», «да» или «нет».
Поэтому я думаю, что, возможно, ваш экземпляр соединения еще не был объединен в пул до истечения времени ожидания.
ИЗМЕНИТЬ
Судя по вашему сообщению об ошибке, вы используете NAMED PIPES вместо TCP/IP. Возможно, вам поможет это (используйте диспетчер конфигурации SQL Server, чтобы выбрать протокол). Проверьте [Конфигурация SQL Native Client 9.0/10.0], и вы должны увидеть список протоколов. Убедитесь, что TCP/IP указан в порядке перед именованными каналами, а также ВКЛЮЧЕН. Например, мой порядок 1–3 — это общая память, TCP/IP, именованные каналы и отключено VIA.
ИЗМЕНИТЬ
Попробуйте создать псевдоним с выбранным протоколом TCP/IP и подключиться к вашему псевдониму? Это также можно сделать с помощью диспетчера конфигурации SQL Server.
ИЗМЕНИТЬ
Поскольку ОП решил проблему, я прокомментировал чужой ответ:
Политика безопасности, которая блокирует исходящие сообщения, должна быть создана явно.
а SOB, вот что это было - администратор сети заблокировал исходящий трафик на порту 1433. Рад, что вы разобрались!
person
bitxwise
schedule
04.02.2011