将数据库连接到MVC应用程序 - 错误50发生本地数据库运行时错误

时间:2014-12-24 05:16:40

标签: sql-server asp.net-mvc database iis-7

我很难将数据库连接到MVC应用程序。尽管我在网上找到了建议,但我仍然收到以下错误。

 System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: SQL Network Interfaces, error: 50 - Local Database Runtime error occurred. Cannot create an automatic instance. See the Windows Application event log for error details.

背景情况:

我开发了一个带有用户数据库的MVC Web App,我想在另一台计算机上发布它们。但是,将文件复制到主机后,我无法访问SQL Server,并显示以下错误消息:错误50本地数据库运行时错误发生。

以下是我从发布过程开始到结束所采取的步骤:

我在个人计算机上创建了一个MVC Web应用程序,其用户登录身份验证如Rick Anderson的示例所述:http://www.asp.net/mvc/overview/security/aspnet-mvc-5-app-with-sms-and-email-two-factor-authentication。因此,使用Web App,我有一个使用它创建的默认用户数据库。

然后我使用Visual Studio 2013将应用程序部署到我自己的C:/ inetpub。发布方法是“文件系统”。我知道此发布方法不支持数据库发布。因此,在Web App发布后,我在我的C:/ inetpub / wwwroot中创建了一个名为“App_Data”的文件夹,并将我的mdf和日志数据库从VS2013中的Project文件夹复制到其中。

之后,我在我的计算机上打开了IIS7,并将我的默认网站的物理属性设置为C:/ inetpub / wwwroot。我打开了我的网络浏览器,我可以连接到网站和我的数据库(这意味着我可以通过网站登录,并设法验证我的登录ID)。因此,当我的计算机上运行Web应用程序时,这一切都很好。

接下来,我必须将Web App安装到托管它的主机上。

所以我复制了整个MVC文件夹(C:/ inetpub / wwwroot)并将它放在主机的C:/ inetpub / wwwroot中。然后我做了以下设置:

  • 在主机中,我给了IIS_IUSRS对数据库的读/写访问权。

  • 我打开了MSSQL 2014 SSMS,连接到Server:(LocalDb)\ MSSQLLocalDB,并添加了一个新数据库,即我的C:/ inetpub / wwwroot / App_Data中的database.mdf。所以我的用户数据库在SSMS中注册。

  • 我的IIS中的连接字符串随后更改为(LocalDb)\ MSSQLLocalDB,因为我在主机上安装了MSSQL 2014.

    <add connectionString="Server=(LocalDb)\MSSQLLocalDB;Database=aspnet-MvcPWy-20140708072924;Integrated Security=true" name="DefaultConnection" providerName="System.Data.SqlClient" />
    
  • IIS7的ApplicationPool设置遵循this example

    <add name="DefaultAppPool">
      <processModel identityType="ApplicationPoolIdentity" loadUserProfile="true" setProfileEnvironment="true" />
    </add>
    

尽管所有这些配置,我仍然得到相同的错误。如果有人能查看我的步骤并查看我是否犯了错误或错过了设置此数据库的一些步骤,我将不胜感激。谢谢!

0 个答案:

没有答案