[英]Database connection in windows azure
我有一个连接到SQL Server数据库的N层MVC4项目。 MVC4项目是使用VS中的MVC Internet应用程序模板创建的。 我正在尝试将此项目部署到Windows Azure。 毫无疑问,该网站被添加为天蓝色,数据库也被添加为毫无问题。
当我浏览到我的网站时,在那里,但是当我尝试执行与数据库相关的操作(例如注册/登录/查看某个列表)时,出现错误:
“建立与SQL Server的连接时发生与网络有关或特定于实例的错误。找不到服务器或无法访问该服务器。请验证实例名称正确并且SQL Server配置为允许远程连接。”
我的开发连接字符串是:
<add name="CarRentalDataBaseEntities" connectionString="metadata=res://*/CarRentalDataBase.csdl|res://*/CarRentalDataBase.ssdl|res://*/CarRentalDataBase.msl;provider=System.Data.SqlClient;provider connection string="data source=CONSTANTINE-PC\SQLEXPRESS;initial catalog=CarRentalDataBase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
我的生产连接字符串是:
<add name="CarRentalDataBaseEntities" connectionString="metadata=res://*/CarRentalDataBase.csdl|res://*/CarRentalDataBase.ssdl|res://*/CarRentalDataBase.msl;provider=System.Data.SqlClient;provider connection string="Server=tcp:ptuwjgqh7p.database.windows.net,1433;Database=CarRentalDataBase;User ID=XXXX;Password=XXXX;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
当我在VS中运行项目时,它运行正常,没有任何问题,这意味着允许远程连接到数据库。
似乎在天蓝色的网站和数据库之间的连接有问题,但我不知道是什么。
请告知我该怎么检查才能发现问题。
谢谢。
编辑:
我刚刚创建了MVC草稿网站,该网站具有与数据库的连接,并且可以正常工作-Azure中与DB的连接。 不同之处在于该网站不是N-Tier设计的,这意味着它没有业务逻辑项目。
在我的原始网站(我仍然没有设法连接到DB的网站)中,有一个业务逻辑项目,并且数据库edmx文件位于该项目上。 我所做的发布到天蓝色的是MVC网站项目,该项目引用了业务逻辑(具有edmx DB文件)。
关于最新发现有什么建议吗?
谢谢。
最终,我发现由于某种原因,尽管在发布之前我对整个解决方案执行了一次Clean-Rebuild,但由于某种原因,在发布菜单的数据库中“设置”下,连接字符串与AppConfig和Azure管理门户中的连接字符串不匹配。谜团解决了将近一年!
在该服务器门户的防火墙部分,您是否已打开对Azure服务的访问权限?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.