Login failed for user 'IIS APPPOOL\DefaultAppPool' ,无法打开明确制定的数据库

在部署权限管理网站到IIS时遇到登录异常,错误提示为'Login failed for user 'IIS APPPOOL\DefaultAppPool'',无法打开指定数据库。通过检查SQL Server日志发现问题根源,并通过修改web.config中的数据库连接字符串、启用Web浏览设置以及更改应用池标识为'LocalSystem',最终成功解决问题。

最近在开放一个权限管理网站,框架搭好后发布到局域网中,通过192.168.0.186:8008访问登录时就会抛出异常,"基础提供程序在Open上失败",然后在VS中运行起来登录就没有问题,一直以为是web.config中<connectionStrings></connectionStrings>中的问题,来回的测试data source,怎么都不行,疯狂的百度也还是不行,这下我意识到不是万能的百度的过错,可能是我根本没有找到真正的问题,我通过产看sql server 2008中的日志发现原来问题的原因是Login failed for user 'IIS APPPOOL\DefaultAppPool' ,无法打开明确制定的数据库,突然我豁然开朗,迅速定位找到问题的解决办法,我总结一下在此做个记录

环境:

系统:win10 64位

vs版本:2013

IIS版本:SQL server 2008

网站架构:MVC+EF

问题描述:

在VS上运行网站并登录可以没有问题,但发布到局域网中,通过IP地址(如:192.168.0.186:8008)访问,登录时VS就会抛出异常,基础提供程序在Open上失败。

解决办法:

1.查看web.config中链接字符串,将其中的data source=. ,改成data source=192.168.0.186,这里写成你的ip地址;

<add name="CraneManagerEntities" connectionString="metadata=res://*/CraneManager.Model.csdl|res://*/CraneManager.Model.ssdl|res://*/CraneManager.Model.msl;provider=System.Data.SqlClient;provider connection string="data source=192.168.0.186;initial catalog=CraneManager;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
2.打开sql server 2008,登录时改成192.168.0.186登录,如果无法登录,请先设置sql的远程连接,这个有很多答案,我也给个地址:

https://zhidao.baidu.com/question/183427727.html

需要注意的时请web browser也设置为运行,这个好像默认不运行,也贴个博友的地址:

http://bbs.youkuaiyun.com/topics/390937299/

3.如果还不行的话,就接着看,反正我的到这还是不行,这是登录sql server 查看日志:


找到问题所在IIS APPPOOL\DefaultAppPool,原来时应用池的问题

4.打开IIS,查看网站应用池


在应用池中找到它


选中后选择右侧的“高级设置”,在弹出框中选择“进程模型”中的“标识”


将其改为“LocalSystem”即可,

虽然不知道为磨子原因,但是我的项目成功部署。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值