.net 使用Windows Azure托管时出现连接问题

.net 使用Windows Azure托管时出现连接问题,.net,sql-server,exception-handling,azure,.net,Sql Server,Exception Handling,Azure,当我从ASP.NET MVC应用程序连接到SQL Azure时,出现以下错误 异常详细信息:System.Data.SqlClient.SqlException:建立到SQL Server的连接时发生网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接) 但是,我能够从SQL Server Management Studio成功连接到SQL A

当我从ASP.NET MVC应用程序连接到SQL Azure时,出现以下错误

异常详细信息:System.Data.SqlClient.SqlException:建立到SQL Server的连接时发生网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:命名管道提供程序,错误:40-无法打开到SQL Server的连接)


但是,我能够从SQL Server Management Studio成功连接到SQL Azure。我还尝试使用sqlCMD进行连接,并且连接时没有任何问题。唯一出现的问题是在运行时出现此异常。

您的连接字符串一定有问题。您无法通过命名管道连接到Windows Azure SQL数据库(又称SQL Azure)。唯一受支持的协议是TCP。因此,您的conn字符串看起来像:

Server=tcp:[servername].database.windows.net,1433;数据库=[db_name];使用者 ID=[username]@[servername];密码=[密码];可信连接=False;加密=真;联系 超时=30

您可以从管理门户获取连接字符串。转到数据库时,右侧有连接字符串链接(新门户):

而旧门户几乎是一样的:

最后,您必须在防火墙规则中启用“允许其他Windows Azure服务连接到此服务器”

****根据下面的评论更新****

这个连接字符串条目在哪里?在web.config或web.release.config/web.debug.config中。请注意,web.config转换在开发时不适用,仅在打包时适用!在本地调试或部署时是否会发生此错误

如果是本地的,您可以检查您实际使用的连接字符串吗


请注意,存在默认的“ApplicationServices”连接字符串(位于apphost.config中),当您尝试在默认MVC应用程序中“登录/注册”时,可能会出现该字符串!该连接字符串假定本地SQL Express实例存在并正在运行。这是Memebership和角色提供程序的默认连接字符串。除非更改成员资格提供程序设置,否则您将无法登录/注册以及任何需要身份验证的操作。

显示您的连接字符串(如果其中包含密码,请在发布前将其更改为*****)我的连接字符串:我已更改连接字符串,但出现相同的错误:您是否在防火墙规则(我的最后一句话)中启用了其他Windows Azure服务连接到此服务器?是的,我已在web.config中启用了“允许其他Windows Azure服务连接到此服务器”我的连接字符串条目