A network-related or instance-specific error occurred while establishing a connection to SQL Server
主页加载正常,但是当我尝试转到“帐户/注册”或“帐户/登录”时发生错误。
该错误发生在文件Filters / InitializeSimpleMembershipAttribute.cs的SimpleMembershipInitializer构造函数中的这一行上
if (!context.Database.Exists())
现在,如果我将web.config设置为
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework" />
</entityFramework>
它仅在本地工作,但我假设它使用的是本地数据库。现在,我在web.config中的实体框架看起来像
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlConnectionFactory, EntityFramework" />
我在另一个应用程序中使用相同的托管服务和免费数据库(appharbor和SQL Server Yocto),并且工作正常。我最近设置了一个新的应用程序和数据库,但是它不起作用。我可以在SQL Server中很好地连接到数据库,并在Visual Studio 2012中扩展DataConnections-> MyContextName,因此我知道连接字符串不是问题。
我想知道托管数据库的服务器上是否有问题,而我无权访问。
我对如何解决此问题一无所知。谢谢。
问题可能是连接字符串名称配置不正确和/或未遵循实体框架约定(实体框架版本之间有些不同)。如果您可以从自己的计算机或SQL Server管理页面连接到数据库,则该问题不太可能与数据库/数据库服务器本身有关。
看一下这个讨论,其中另一个用户遇到了类似的问题。您可能只需要为实体框架数据库上下文设置正确的连接字符串名称。还要确保已设置迁移以创建数据库。
这可以解释为什么它与本地数据库连接工厂一起在本地工作。我怀疑数据库是在本地SQL服务器中创建的,并且可以不受限制地这样做。在AppHarbor上,您需要使用提供的数据库和连接字符串,因为您无法自己创建数据库。您可以通过连接到本地数据库服务器并列出可用数据库来确认是否是这种情况。
我还建议您使用此示例应用程序以及有关在AppHarbor上运行迁移和配置实体框架(4.3)的相关博客文章。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句