Localdb在设计之初就不能配合IIS使用,只能在开发环境中使用,不能在生产环境(IIS)中使用.
在IIS中访问时会提示:SQL
Network Interfaces, error: 50 - Local Database Runtime error occurred;
解决方法:
打开文件“C:\Windows\System32\inetsrv\config\
applicationHost.config”,找到<applicationPools>节的DefaultAppPool段,
在processModel中增加loadUserProfile="true"
setProfileEnvironment="true";
<add
name="DefaultAppPool" managedRuntimeVersion="v4.0"
managedPipelineMode="Integrated">
<processModel
identityType="ApplicationPoolIdentity" loadUserProfile="true"
setProfileEnvironment="true" />
</add>
**如果网站使用的应用程序池不是DefaultAppPool,则要加在对应的应用程序池节点下;
转自:https://blogs.msdn.microsoft.com/gaurav/2013/12/21/deployment-of-sql-express-localdb-on-iis/
https://blogs.msdn.microsoft.com/sqlexpress/2011/12/08/using-localdb-with-full-iis-part-1-user-profile/
另一种方式:1、在命令行中启用共享LocalDB连接(需要管理员权限):
sqllocaldb share v11.0 IIS_DB
2、使用Microsoft SQL Server Management Studio连接LocalDB:
服务器名称:(localdb)\.\IIS_DB
身份验证:Windows身份验证
3、新建查询,为IIS应用程序池添加登录和数据库权限:
create login [IIS APPPOOL\ASP.NET v4.0] from windows;
exec sp_addsrvrolemember N'IIS APPPOOL\ASP.NET v4.0', sysadmin
(注:具体应用程序池请根据需要修改)
4、修改连接字符串的data source属性:
原:data source=(LocalDB)\v11.0
改:data source=(LocalDB)\.\IIS_DB;
转自:http://www.cnblogs.com/xwgli/p/3435282.html