C# 无法从Azure网站访问SQL Azure DB,但相同的连接字符串可从本地网站访问
我无法从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
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
在检查之前的答案后
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服务连接到它的选项
谢谢,我已更改了防火墙设置,但不幸的是,这无助于解决连接问题。