无法从 Azure 网站访问 SQL Azure 数据库,但相同的连接字符串可从本地网站访问
Cannot access SQL Azure DB from Azure website but same connection string works from local website
我无法从 Azure 网站访问 SQL Azure 数据库,即使相同的连接字符串在本地网站上有效。错误如下:
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 <...>
查看之前的答案后,
- 我已将我的数据库添加到我网站在 Azure 门户上的链接资源。
我已将 0.0.0.0 - 255.255.255.255 范围添加到我的防火墙排除列表中 不需要!
- 我已确保我的连接字符串使用不允许任何 ambiguity。
- 我已确保
ApplicationDbContext
是使用 correct connection string 构建的。
我还能尝试什么?
网站代码为here.
我不确定您使用的是哪个门户,但是...在预览门户 (portal.azure.com) 中,您的数据库设置页面将有一个 link 到服务器,并且在那里你会找到防火墙设置。除了 IP 范围之外,还有一个选项允许 Azure 服务访问你的数据库。你需要启用它。
manage.windowsazure.com 中的相同内容 - 可通过“配置”选项卡访问设置。
我需要像 Cannot Access Azure DB Server from Azure Website 一样更新我的网站设置,需要复制粘贴整个连接字符串作为第二个参数。这些设置中对我有用的第三个参数是 SQL Server
.
这对我来说很有意义,因为我通过 github 在 Azure 上部署。很明显,当你在 github 上上传我的 web.config 时,我取出了我的数据库密码,上传 web.config 的连接字符串和在 github 上上传的连接字符串不能用于访问数据库。因此,在 Azure 网站上指定连接字符串非常有意义,因为我在那里提供的信息是保密的。据推测,这是使用 XDT 完成的,如图 here.
不需要修改防火墙设置。
您收到的错误不是由于 SQL Azure 的防火墙 ACL 问题。该错误会在下面的屏幕截图中显示类似此错误的内容。您一定是连接字符串有问题。
还要确保在您的 SQL Azure 服务器 ACL 设置中选中了允许 Azure 服务连接到它的选项。
我无法从 Azure 网站访问 SQL Azure 数据库,即使相同的连接字符串在本地网站上有效。错误如下:
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 <...>
查看之前的答案后,
- 我已将我的数据库添加到我网站在 Azure 门户上的链接资源。
我已将 0.0.0.0 - 255.255.255.255 范围添加到我的防火墙排除列表中不需要!- 我已确保我的连接字符串使用不允许任何 ambiguity。
- 我已确保
ApplicationDbContext
是使用 correct connection string 构建的。
我还能尝试什么?
网站代码为here.
我不确定您使用的是哪个门户,但是...在预览门户 (portal.azure.com) 中,您的数据库设置页面将有一个 link 到服务器,并且在那里你会找到防火墙设置。除了 IP 范围之外,还有一个选项允许 Azure 服务访问你的数据库。你需要启用它。
manage.windowsazure.com 中的相同内容 - 可通过“配置”选项卡访问设置。
我需要像 Cannot Access Azure DB Server from Azure Website 一样更新我的网站设置,需要复制粘贴整个连接字符串作为第二个参数。这些设置中对我有用的第三个参数是 SQL Server
.
这对我来说很有意义,因为我通过 github 在 Azure 上部署。很明显,当你在 github 上上传我的 web.config 时,我取出了我的数据库密码,上传 web.config 的连接字符串和在 github 上上传的连接字符串不能用于访问数据库。因此,在 Azure 网站上指定连接字符串非常有意义,因为我在那里提供的信息是保密的。据推测,这是使用 XDT 完成的,如图 here.
不需要修改防火墙设置。
您收到的错误不是由于 SQL Azure 的防火墙 ACL 问题。该错误会在下面的屏幕截图中显示类似此错误的内容。您一定是连接字符串有问题。
还要确保在您的 SQL Azure 服务器 ACL 设置中选中了允许 Azure 服务连接到它的选项。