我有一个使用新SQL CE 4 CTP的ASP.NET 4站点。该站点在本地(Win7上的IIS 7.5)工作正常,在Server 2003 / IIS 6中运行良好。在Server 2008上部署到IIS 7时失败。我得到的错误是:
访问被拒绝。 (HRESULT异常:0x80070005(E_ACCESSDENIED))
有趣的是,如果我将应用程序池用户从其默认用户切换到LocalSystem,一切都很有效。很明显,某处存在权限问题。
长话短说,有没有人知道在部署SQL CE 4数据库时需要设置哪些特殊权限? (顺便说一下,我们已经在db本身和c:\ windows \ temp上设置了r / w访问权限)
谢谢!
答案 0 :(得分:14)
实际的解决方案是将IUSR权限添加到bin目录(以某种方式丢失)。希望这对未来的其他人有所帮助!
答案 1 :(得分:0)
对数据库文件所在文件夹的写访问权限。您可以使用Process Explorer确定缺少哪些权限。
答案 2 :(得分:0)
我目前正在运行一个Web服务器,其中包含安装了SQL CE 4.0的Windows Server 2008 R2的全新副本。
我遇到了类似的问题,但更多的是:
事件日志中的“基础提供程序在打开时失败”。我会尝试一切以及在SO和谷歌上查找所有内容。在这里尝试了两个建议,最后开始取得一些进展。
除了添加读/写权限(Thanks ErikEJ)是朝着正确方向迈出的一步,但是哪个用户准确地授予这些权限是一项艰巨的任务(感谢Robbo)。不幸的是,这对我来说并没有完全帮助我 来回使用用户和权限,最终结果是我在工作之前需要以下两个权限:
IUSR IIS_IUSRS
两者都需要对应用程序文件夹的读/写权限。
希望这有助于上面提供的答案 - 当然帮助了我。