Access DB - 操作必须使用可更新的查询

时间:2009-01-26 20:04:36

标签: c# ms-access permissions

我有一个我在VS2005,C#,.NET 2.0中构建的网站。该网站针对Access数据库进行交易。它在开发中工作正常。 mdb文件驻留在App_Data

我已在此计算机上设置IIS以测试将部署的网站。我将该站点发布到我的IIS虚拟目录。一切顺利。

每当我尝试更新,插入或删除时,我都会收到上述错误“操作必须使用可更新的查询。”

我已将以下权限应用于App_data文件夹:

machinename/IUSR - modify
machinename/ASPNET - modify
NETWORK SERVICE - modify
domainname/myaccount - full

我甚至疯了,给了每个人的全部权限,但这也不起作用。

在我的网络配置中,我有以下一行:

<identity impersonate="true"/>

此行用于模拟我的登录帐户以提供对该应用程序的访问权限。

我仍然无法执行插入,更新或删除查询。有什么想法吗?

更新

感谢您的回复。我读过那篇文章。我还阅读了谷歌搜索结果的前4页,他们都谈到了DB文件夹的权限。我已经遵循了所有建议,没有结果。

  1. 我的权限设置为MS文章描述。
  2. 正在以正确的模式打开数据库,否则在测试时无法正常工作。
  3. 我没有使用ODBC,所以就这样了。
  4. 我没有使用SQL服务器,所以也是如此。

2 个答案:

答案 0 :(得分:1)

用户(模仿者或asp用户)必须具有在目录中创建文件的权限,因为Access会创建.ldb文件。

其他可能的原因如[{3}}

所述

<强>更新 你有没有检查有效权限?也许继承会在这里发挥作用,因为明确拒绝。

答案 1 :(得分:0)

感谢您的回复。我读过那篇文章。我还阅读了谷歌搜索结果的前4页,他们都谈到了DB文件夹的权限。我已经遵循了所有建议,没有结果。

  1. 我的权限设置为MS 文章描述。
  2. 数据库是 以正确的方式打开, 否则它在测试时不起作用。
  3. 我没有使用ODBC,所以就这样了。
  4. 我没有使用SQL服务器,所以那就是 也是。