«Базовый поставщик не удалось открыть» при достижении sql azure db с помощью службы данных WCF внутри веб-роли - PullRequest
0 голосов
/ 30 октября 2011

«Базовый поставщик потерпел неудачу при открытии» при достижении sql azure db с помощью службы данных WCF внутри веб-роли в разработке Fabric.

Открыт VS 2010 в режиме администратора.

Создан новыйПроект Windows Azure.

Добавлена ​​веб-роль.

Добавлена ​​модель данных сущности ADO.NET в базу данных в SQL Azure. Это правильно установило соединение, прочитало все таблицы и сгенерировало модель.Использовала стандартную проверку подлинности sql при подключении к базе данных Azure.

Добавлен проект службы данных WCF.

Когда я F5 решение.определение службы открывается правильно, показывая таблицы, которые существуют в модели.но когда я добавляю имя таблицы в URL (то есть когда происходит фактическое соединение с базой данных), в ответе HTTP 500 появляется вышеуказанная ошибка.

ПРИМЕЧАНИЕ: Явозможность подключения к базе данных SQL Azure из SSMS.

Возможность подключения к ней при создании модели данных объекта.

Когда я размещаю решение в веб-роли Windows Azure, все работает нормально.

Но это не работает, когда я пытаюсь сделать это в эмуляторе разработки VS2010.Есть идеи почему?

Ответы [ 3 ]

0 голосов
/ 01 ноября 2011

Если вы подключаетесь из своего локального устройства разработки к SQL Azure, вам нужно добавить правило брандмауэра на портале, чтобы все работало правильно. Проверьте и убедитесь, что вы включили правило межсетевого экрана на портале.

0 голосов
/ 17 ноября 2011

Ваша проблема звучит странно, как та, которую я только что переживал.Я обнаружил, что советы по следующему обсуждению помогли мне: http://social.msdn.microsoft.com/Forums/en-US/windowsazuredevelopment/thread/ca5887aa-7720-41bb-af8a-1633347be1c5

Лечение, по крайней мере, в моем случае, заключалось в том, чтобы закомментировать раздел «сайты» конфигурационного файла ServiceDefinition.НТН

0 голосов
/ 01 ноября 2011

Честно говоря, я понятия не имею, почему это происходит. Имея в виду, что он работает в веб-роли Azure (разворачиваете ли вы в реальную учетную запись Azure?) И в вашей SSMS, я предполагаю, что вы либо отключили брандмауэр SQL Azure, либо открыли его для доступа с Windows Azure Servives и вашего общедоступного IP-адреса. Единственный оставшийся вопрос - дважды проверить строку подключения. Когда вы нажмете F5, сможете ли вы прервать ошибку и увидеть фактическую строку подключения, которая используется локально? Это может дать вам понять, почему вы терпите неудачу.

...