Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 无法从Azure网站访问SQL Azure DB,但相同的连接字符串可从本地网站访问_C#_Azure_Razor_Azure Storage_Azure Web App Service - Fatal编程技术网

C# 无法从Azure网站访问SQL Azure DB,但相同的连接字符串可从本地网站访问

C# 无法从Azure网站访问SQL Azure DB,但相同的连接字符串可从本地网站访问,c#,azure,razor,azure-storage,azure-web-app-service,C#,Azure,Razor,Azure Storage,Azure Web App Service,我无法从Azure网站访问SQL Azure DB,即使相同的连接字符串可以从本地网站访问。错误如下: System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'XYZ'. at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapClo

我无法从Azure网站访问SQL Azure DB,即使相同的连接字符串可以从本地网站访问。错误如下:

System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'XYZ'.
at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception,
Boolean breakConnection, Action`1 wrapCloseInAction) at
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, 
Boolean callerHasConnectionLock, Boolean asyncClose) <...>  
Error Number:18456,State:1,Class:14  <...>
System.Data.SqlClient.SqlException(0x80131904):用户“XYZ”登录失败。
在System.Data.SqlClient.SqlInternalConnection.OneError(SqlException异常,
布尔断开连接,操作'1 wrapCloseInAction)位于
System.Data.SqlClient.TdsParser.ThroweException和Warning(TdsParserStateObject stateObj,
布尔调用方连接锁,布尔异步关闭)
错误号:18456,状态:1,类别:14
在检查之前的答案后

  • 我已将我的数据库添加到Azure portal上我网站的链接资源中
  • 我已将0.0.0.0-255.255.255.255范围添加到我的防火墙排除列表中,不需要
  • 我已确保我的连接字符串使用不允许任何错误
  • 我已确保
    ApplicationDbContext
    是使用创建的
  • 我还能试什么


    网站代码为。

    我不确定您使用的是哪个门户网站,但是。。。在预览门户(portal.azure.com)中,您的数据库设置页面将有一个到服务器的链接,您将在那里找到防火墙设置。除了IP范围之外,还有一个选项允许Azure服务访问您的数据库。您需要启用该选项


    在manage.windowsazure.com中也是一样-可以通过“配置”选项卡访问设置。

    我需要更新我的网站设置,如中所示,需要复制粘贴整个连接字符串作为第二个参数。这些设置中对我有效的第三个参数是
    SQL Server

    这在我的案例中是有意义的,因为我通过github在Azure上部署。显然,当您在github上上载我的web.config时,我会取出我的数据库密码,在github上上载的web.config中的连接字符串不能用于访问数据库。因此,在Azure网站上指定连接字符串非常有意义,因为我在那里提供的信息仍然是私有的。这大概是使用XDT完成的,如图所示


    防火墙设置修改是不必要的。

    您收到的错误不是由于SQL Azure的防火墙ACL问题造成的。这个错误会在下面的屏幕截图中显示类似的错误。您的连接字符串必须有问题

    还要确保在SQL Azure server ACL设置中选中了允许Azure服务连接到它的选项


    谢谢,我已更改了防火墙设置,但不幸的是,这无助于解决连接问题。