Служба WCF не подключается к базе данных SQL - PullRequest
1 голос
/ 22 октября 2010

Проблема

При выполнении вызовов базы данных SQL из службы WCF мы получаем следующую ошибку:

"При установлении ошибки произошла ошибка сети или конкретного экземпляра.Соединение с SQL Server. Сервер не был найден или был недоступен. Убедитесь, что имя экземпляра указано правильно и что SQL Server настроен для разрешения удаленных подключений. (Поставщик: поставщик именованных каналов, ошибка: 40 - Не удалось открыть подключение кSQL Server) "

Наша установка

У нас есть служба WCF, размещенная на внутреннем сервере за брандмауэром.Этот сервис делает вызовы SQL.При обращении к службе WCF изнутри брандмауэра служба может нормально взаимодействовать с сервером SQL.Мы переместили сайт за пределы брандмауэра, и сетевые парни дали мне порт для общения между сайтом и службой WCF.При совершении звонков в службу с сайта за пределами брандмауэра служба получает ошибку при подключении к базе данных.Мы используем проверку подлинности SQL в строке подключения для подключения к базе данных.

Пример строки подключения:

Data Source=SQLServer;Initial Catalog=Database;
Persist Security Info=True;
User ID=username;Password=userpass

alt text

Ответы [ 2 ]

1 голос
/ 22 октября 2010

Удаленный доступ к серверу и выполнение следующей команды

telnet <YOUR SQL SERVER> 1433

Здесь я предполагаю, что ваш SQL-сервер подключен к порту 1433 (по умолчанию), но ваш DBA может указать другой порт, еслитак хочется, так что будьте осторожны ... Если вы получаете мигающий курсор, порт открыт, и вам, вероятно, нужно проверить строку соединения.Если вы получили ошибку, ваш брандмауэр, вероятно, блокирует вас.

0 голосов
/ 26 октября 2010

Я не знаю точно, что это исправило. В итоге мы поместили сервис в производственную среду и сослались на это в коде. Мы решили проблему с привязкой HTTP и указанными полями. Мы поместили это там, и это связано с SQL. Я не знаю, почему это исправило это, но это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...