IIS无法连接LocalDb,怎么办?

最近安装了vs 2013,电脑配置不太好,所以没有安装数据库,直接使用vs2013自带的localdb工具,直接运行访问本地mdf数据库文件。但是部署到IIS就出问题了。问题就像下面的图片一样。

最后还是找了一下原因,网上找了一些资料,他们的解决办法是这样的。

找到当前IIS网站使用的应用程序池,我当前使用的是ASP.NET v4.0,于是设置该应用池进程模型标志为localsystem,数据库文件访问就正常了。

后面又找了一些原因,主要原因是不同的内置账户所对应的的权限和服务不同。具体如下:

LocalSystem   账户

LocalSystem是预设的拥有本机所有权限的本地账户,这个账户跟通常的用户账户没有任何关联,也没有用户名和密码之类的凭证。这个服务账户可以打开注册表的HKEY_LOCAL_MACHINE\Security键,当LocalSystem访问网络资源时,它是作为计算机的域账户使用的。

举例来说,以LocalSystem账户运行的服务主要有:WindowsUpdate   Client、   Clipbook、Com+、DHCP   Client、Messenger   Service、Task   Scheduler、Server   Service、Workstation   Service,还有Windows   Installer。

Network   Service   账户

Network   Service账户是预设的拥有本机部分权限的本地账户,它能够以计算机的名义访问网络资源。但是他没有Local   System   那么多的权限,以这个账户运行的服务会根据实际环境把访问凭据提交给远程的计算机。Network   Service账户通常可以访问Network   Service、Everyone组,还有认证用户有权限访问的资源。

举例来说,以Network   Service账户运行的服务主要有:Distributed   Transaction   Coordinator、DNS   Client、Performance   Logs   and   Alerts,还有RPC   Locator。

Local   Service   账户

Local   Service账户是预设的拥有最小权限的本地账户,并在网络凭证中具有匿名的身份。Local   Service账户通常可以访问Local   Service、Everyone组还有认证用户有权限访问的资源。

举例来说,以Local   Service账户运行的服务主要有:Alerter、Remote   Registry、Smart   Card、SSDP,还有WebClient。

简单说明:

Local   system   :本地系统用户,   个人电脑通常选择这个用户

Network   service   :网络服务用户,   通常需要远程连接的都使用这个

Local   Service   :本地服务

IIS无法连接LocalDb,怎么办?

时间: 2024-10-29 03:16:43

IIS无法连接LocalDb,怎么办?的相关文章

通过IIS不能连接远程数据库的问题

近期遇到一个奇怪的问题:在调试MES程序时发现,如果连接的是远程的SQL SERVER数据库(通过了IIS),则提示连接失败,就是经常见到的数据库不允许远程连接的错误提示: 而且又测试了以下几种情况: 1. 在芜湖与石家庄都遇到这种情况,而且数据库服务器端未做任何改动: 2. 使用IIS连接本地的数据库正常: 3. 别人的机器在调试程序时可以正常地连接远程数据库: 4. 使用本人机器的SQL SERVER客户端可以正常访问远程数据库: 5. 使用本人机器,不使用IIS,直接使用最基本的代码连接远

如何查看iis的连接数量

引用:http://jingyan.baidu.com/article/54b6b9c0f3c2002d583b470d.html 运行,输入,perfmon.msc. 在系统监视器,区域点击,添加计数器. 在“添加计数器”窗口,“性能对象”选择Web Service,“从列表选择计数器”选中Current Connection,“从列表选择实例”选中你要统计的站点,最后点击“添加”按钮. 当然也可以在运行,输netstat -a 命令来查看. 看起来显示的太有点不太好分辨,所以建议不这么查看.

小知识~LocalDB在IIS上如何成功配置

LocalDB使用确实方便,它不像SQLSERVER那么重,对一个测试的DEMO或者并发量不大的项目可以使用它,但在进行IIS部署时,可能会出现一些问题,即你的IIS可能没有权限访问你的LocalDB,现在我们就来简单的配置一下,让它支持IIS!1.在命令行中启用共享LocalDB连接(需要管理员权限):sqllocaldb share v11.0 IIS_DB2.使用Microsoft SQL Server Management Studio连接LocalDB:服务器名称:(localdb)\

iis上部署本地数据库LocalDB的方法

1. iis应用程序池的标识设置为"ApplicationPoolIdentify"(比较安全) 2. 不要将数据库物理文件保存在网站的物理路径内,因为iis应用程序池的标识为ApplicationPoolIdentify,此时网站文件夹的安全权限中对应的用户(应用程序池名称)的权限会被设置为只允许读取,为了安全起见,保持此默认设置,在其它位置创建文件夹用于保存数据库(比如:D:\LocalDB\TestWebApp) 3. 右键单击保存数据库文件的文件夹(比如:TestWebApp)

SQL localdb 连接字符串

http://blog.csdn.net/greystar/article/details/47699797 原来SQL 2012 下连接LOCALDB,字符串为: Data Source=(LocalDB)\v11.0;Initial Catalog=D:\aa.MDF;Integrated Security=True 现在升级到SQL 2014,程序升级到VS2015,在lightswitch里添加了表,这个会自动修改数据库结构.调试发布都没有问题 连接字符串仍为Data Source=(L

在IIS使用localDB

项目使用localdb来作为本机测试数据库,发布到本机IIS后项目却链接不到数据库,查看windows日志为如下错误 "无法获取本地应用程序数据路径.很可能是因为未加载用户配置文件.如果在 IIS 下执行 LocalDB,请确保为当前用户启用配置文件加载." 解决办法: 1.选择项目对应的应用池=>高级设置=>应用程序池标识=>更改账户为LocalSystem 2.确保加载用户配置文件为true

如何连接并存取 SQL Server 2012 Express LocalDB

本文将介绍如何连接并存取 SQL Server 2012 Express LocalDB. 在上一篇笔者介绍如何利用 SqlLocalDB 公用程序来管理 LocalDB 的执行个体,本文将继续介绍如何在 LocalDB 的执行个体上建立数据库,以及您的应用程序如何和 LocalDB 做整合. LocalDB 对于开发人员最大的好处就是方便使用,您不需要管理执行个体的各种设定(例如验证模式.通讯协定.服务启动账户等),就可以用[(localdb)执行个体名称]作为服务器名称,利用 SQL Ser

iis 上部署 asp.net mvc 项目的一些注意事项

1. 发布的网站无法应用web.config配置. 解决方法: 网站的物理路径文件夹的权限,如果 iis 应用程序池的标识为 ApplicationPoolIdentify ,需要为文件夹添加 IIS_IUSRS 用户,并允许下图中的5个权限 2.1 localdb数据库无法部署 2.2 使用 localdb 数据库时,无法通过 SQL Server Management Studio 管理 EF 创建的数据库 解决方法: 不要使用默认实例,自己创建一个共享实例,并添加相应的用户权限 具体步骤:

C#用Oracle.DataAccess中连接Oracle要注意版本问题!转)

一般人,不包括全部平时在开发中使用的都是32位的PC机,所以安装的也是Oracle32位的客户端.但是一般服务器都是64位的,安装的也是 64位的Oracle客户端,如果要部署使用Oracle.DataAccess连接Oracle的应用程序时,可能会遇到版本上的问题.那具体来说表现在以下两个方面:主要版本问题有两种,一种是32位版和64位版的问题,如果我们开发出来的应用是32位的,那么就必须使用32位的客户端,如果是64位的应用程序当然对应64位的客户端.这里需要注意:在64位的环境中使用VS开