繁体   English   中英

Windows Azure中的数据库连接

[英]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=&quot;data source=CONSTANTINE-PC\SQLEXPRESS;initial catalog=CarRentalDataBase;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" 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=&quot;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&quot;" 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM