繁体   English   中英

如何允许IIS从ASP.NET MVC项目中使用本地数据库?

[英]How to allow IIS to use local database from ASP.NET MVC project?

我将在本地网络上演示ASP.NET MVC网站。 此应用程序与数据库连接:

<connectionStrings>
    <add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-EBC-20141127093222.mdf;Initial Catalog=aspnet-EBC-20141127093222;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>

我想如果IIS和每当我在本地运行我的应用程序时都可以使用这个数据库。 我在IIS上创建了一个站点 - 它运行的是.NET v4。 我的项目位于c:\\inetpub\\www\\ebc 我可以发布网站,但在查看页面时收到此错误:


“建立与SQL Server的连接时发生与网络相关或特定于实例的错误。未找到服务器或无法访问服务器。验证实例名称是否正确以及SQL Server是否配置为允许远程连接。(提供程序: SQL网络接口,错误:50 - 发生本地数据库运行时错误。在LocalDB实例API方法调用中发生意外错误。请参阅Windows应用程序事件日志以获取错误详细信息。

我知道我需要允许通过microsoft sql server manager远程连接到sql server? 有没有办法在别处做?

最好的解决方案是使用SQL Expression但是如果你不想要的话,你需要做的几个步骤才能让你的mvc应用程序与localdb一起工作

  1. 以管理员身份打开Visual Studio命令提示符
  2. 执行sqllocaldb share v11.0 IIS_DB (然后数据库将被共享,IIS可以访问它)
  3. 将站点连接字符串更改为指向DB的共享实例: Data Source=(LocalDb)\\.\\IIS_DB然后再次发布

请注意,此时您可能会收到访问拒绝错误,并且有如何修复它

  1. 转到visual studio => databaseexplorer =>添加连接
  2. 对于服务器名称,输入(LocalDb)\\.\\IIS_DB然后右键单击连接并选择新查询并执行此命令

     create login [IIS APPPool\\DefaultAPPPool] from windows; exec sp_addsrvrolemember N'IIS APPPool\\DefaultAPPPool, sysadmin 

如果在计算机中安装了多个版本的SQL Server localDB,则此错误非常常见。

尝试使用(localdb)\\mssqllocaldb作为连接到LocalDB自动实例的公共服务器名称,而不是“v11.0”或“v12.0”。

上面的自动localdb实例在所有版本中都有一个默认名称,并避免名称和版本之间的冲突。

要点 :将localdb更新为新版本时,请记住使用旧版本创建的数据库不适用于较新版本。

看到这篇文章:使用LocalDB和完整IIS的这两篇文章应该为您提供更多信息。 特别是第二部分似乎相关,但第一部分也包含一些背景。

  1. 第1部分:用户配置文件
  2. 第2部分:实例所有权

信用: IIS连接到LocalDB

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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