Azure WebApp无法与Azure WebSql数据库通信

时间:2015-12-23 04:10:50

标签: sql-server azure asp.net-web-api azure-web-app-service

情景:

使用WebAPI在Azure上的webApp(非WebSite或WebService)无法连接到其Azure数据库。虽然我已经(暂时)打开了0.0.0.0 - 255.255.255.255,但没有在数据库防火墙中打开WebApp IP。 我们收到以下一般性错误消息:

  

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

在本地运行Web应用程序,它可以很好地连接到Azure数据库。

WebApp通过EF6连接到数据库。

因此我们知道连接字符串有效,我们知道数据库是可访问的,WebAPI正常工作......只有当WebApp放在Azure上时才会失败。

我们如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

好的,解决方案比它需要的要复杂一些。如果没有严重的捏造,您无法让webApp与WebSql数据库进行通信。然而,正确但更昂贵的解决方案是:

  1. 创建Ms SQL数据库VM。
  2. 为API创建Ms Windows VM
  3. 创建vNetwork并将两个VM放在网络上
  4. 配置API以使用属于的网络的内部IP 数据库VM
  5. 瞧。