Azure Web应用程序无法访问azure DB

时间:2016-04-24 16:59:04

标签: azure azure-sql-database azure-web-sites

我有一个带有sql数据库和asp.net 5网络应用程序的Azure试用帐户。数据库服务器防火墙具有本地计算机IP的规则,以及“允许访问Azure服务”复选框。我可以从本地的Sql Server Manager连接到azure数据库而不会发生任何事故。

Web应用程序在其“应用程序设置/连接字符串”部分中设置了此连接字符串。我已经使用这个连接字符串检查了wep应用程序IS:

  

“Server = tcp:[MyServerName] .database.windows.net,1433; Database = [MyDbName]; User ID = [MyUserName] @ [MyServerName]; Password = [MyPassword]; Encrypt = True; TrustServerCertificate = False ;连接   超时= 30;“

在桌面客户端中使用此相同的连接字符串并且工作正常。 但是,Web应用程序无法连接到服务器,并抛出此异常,这很明显,但我不知道如何解决。

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。 (提供者:命名   管道提供程序,错误:40 - 无法打开与SQL Server的连接)

我知道在这里已经提出并回答了非常类似的问题,但是这些问题都不是我面临的完全相同的问题,对我来说也不是解决方案。

感谢大家的时间。

更新1

作为测试,我已经将网站配置为在我的本地IIS上运行,对着天蓝色的数据库,它也可以运行。因此,桌面应用程序,SQL Server管理器和IIS可以从我的本地计算机访问此数据库。当然,我的IP在服务器防火墙中列入白名单,但是azure app服务也列入白名单,但没有访问权限。

enter image description here

更新2

Joe Raio的评论让我仔细检查了区域配置,这里是当前设置的屏幕截图。我相信一切都是正确的。

enter image description here

1 个答案:

答案 0 :(得分:1)

  

Web应用程序在其“应用程序”中设置了此连接字符串   设置/连接字符串部分。我已经检查过wep应用程序了   使用此连接字符串:

这不是您为ASP.net 5 应用程序设置连接字符串的地方。

打开您的文件 appsettings.json ,第一部分应包含以下数据

  "Data": {
    "DefaultConnection": {
      "ConnectionString": "Server=(localdb)\\mssqllocaldb;Database=aspnet5-WestEuroSODBAccess-96be0407-8bee-4c89-97e5-f6711136f106;Trusted_Connection=True;MultipleActiveResultSets=true"
    }

将连接字符串放在那里。与此相似

  "Data": {
    "DefaultConnection": {
      "ConnectionString": "Server=tcp:[MyServerName].database.windows.net,1433;Database=[MyDbName];User ID=[MyUserName]@[MyServerName];Password=[MyPassword];Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
    }

这将解决问题。我最初没有意识到你将它设置为ASP.net 5应用程序。

可在此处找到更多信息:http://docs.asp.net/en/latest/fundamentals/configuration.html