将SQL CE 4部署到IIS 7 - 需要特殊权限吗?

时间:2010-12-13 21:14:54

标签: asp.net sql-server-ce

我有一个使用新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访问权限)

谢谢!

3 个答案:

答案 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

两者都需要对应用程序文件夹的读/写权限。

希望这有助于上面提供的答案 - 当然帮助了我。