2015-12-23 3 views
1

Сценарий:Azure WebApp не в состоянии общаться с Azure WebSQL Database

веб-приложение (не WebSite ни WebService) на Azure с использованием WebAPI не удается подключиться к его Azure Database. В брандмауэре базы данных нет открытого WebApp IP, хотя я открыл (временно) 0.0.0.0 - 255.255.255.255, который не помог. Мы получаем следующее общее сообщение об ошибке:

"A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server)"

Запуск Web App локально он подключается к базе данных штрафа Azure.

WebApp подключается к базе данных через EF6.

Таким образом, мы знаем, что строка подключения работает, мы знаем, что база данных доступна и работает WebAPI ... она не работает, когда WebApp помещается на Azure.

Как мы можем решить это?

+0

Вы подтвердили, что строка подключения, которую вы видите на вкладке «Настройки приложения» портала, соответствует строке подключения, которую вы используете локально? Это была бы моя первая ставка. –

+0

Настройки подключения верны - мы проверили. –

+0

Это не похоже на веб-приложение. Вероятно, это проблема с конфигурацией. Было бы полезно записать строку подключения, где вы передаете ее в EF, чтобы убедиться, что код получает правильную строку подключения из App Settings. Кроме того, вы можете удалять отладки через Visual Studio. Вероятно, вам потребуется отладка с вашей стороны, это довольно общая ошибка, которую вы получаете. :( –

ответ

0

Хорошо, решение немного сложнее, чем должно быть. Вы не можете заставить webApp связываться с базой данных WebSql без серьезной подделки. Однако правильным, хотя и более дорогостоящим решением является следующее:

  1. Создание виртуальной машины базы данных Ms SQL.
  2. Создайте виртуальную машину MS Windows для API
  3. Создать vNetwork и разместить как виртуальные машины в сети
  4. Сконфигурируйте API для использования внутреннего IP-сети, которая принадлежит к базе данных VM

Voila.

+0

После публикации вы можете создать новый sql-db для веб-приложения. Разве это не вариант для вас? –

+0

Мы пробовали это, но не смогли получить наш API для подключения к базе данных WebSql. –