我一直在寻找这个并且找不到合适的答案。 它是关于我的ASP.NET MVC应用程序的web.config中的connectionstring 这是我的连接字符串:
<add name="DefaultConnection" connectionString="Server=tcp:****.database.windows.net,1433;Initial Catalog=***;Persist Security Info=False;User ID=****;Password=******;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient" />
我还有第二个,它完美无缺:
<add name="treinsqlEntities" connectionString="metadata=res://*/TreinDB.csdl|res://*/TreinDB.ssdl|res://*/TreinDB.msl;provider=System.Data.SqlClient;provider connection string="data source=*****.database.windows.net,1433;initial catalog=*****;user id=*****;password=******;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
它在localhost上完美运行,但它不在线,(数据库和站点托管在Azure上),因此密码和用户名绝对正确。
我使用此连接字符串登录/注册,注册,...
问题是什么?
非常感谢所有救生员!
编辑:这是例外: enter image description here
这些是我的防火墙设置:enter image description here
答案 0 :(得分:0)
这很可能是因为您没有打开所有天蓝色连接的防火墙。默认情况下,Azure中的新数据库/服务器没有添加防火墙规则。您可能已添加本地客户端IP但未选中适用于所有Azure连接的框。 https://docs.microsoft.com/en-us/azure/sql-database/sql-database-firewall-configure#overview部分&#39;从Azure连接&#39;应该指出你正确的设置。
请注意,这允许来自Azure的所有IP连接到您的数据库。它不允许访问,因为您的身份验证机制将停止访问,但是在选中此选项的情况下,Azure中的任何订阅都将允许连接。