【问题标题】:Access DB - Operation must use updateable queryAccess DB - 操作必须使用可更新查询
【发布时间】:2010-10-03 15:03:32
【问题描述】:

我有一个使用 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

我什至发疯了,并给了组 EVERYONE 完全权限,但这也没有用。

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

<identity impersonate="true"/>

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

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

更新:

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

  1. 我的权限设置如 MS 文章所述。
  2. 数据库正在以正确的模式打开,否则在测试时将无法工作。
  3. 我没有使用 ODBC,所以没用。
  4. 我没有使用 SQL Server,所以也没有。

【问题讨论】:

    标签: c# ms-access permissions


    【解决方案1】:

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

    描述了其他可能的原因in the MS Knowledgebase

    更新: 您是否检查了有效权限?由于明确的否认,也许继承在这里发挥了作用。

    【讨论】:

    • 谢谢。我通过查看该帐户的有效权限发现了 IUSR 帐户的明确拒绝(出于某种原因)。一旦我解决了这个问题,我就可以开始了。
    【解决方案2】:

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

    1. 我的权限设置为 MS 文章介绍。
    2. 数据库是 以正确的模式打开, 否则在测试时将无法正常工作。
    3. 我没有使用 ODBC,所以没用。
    4. 我没有使用 SQL Server,所以这是 也出去了。

    【讨论】:

    • 除非您实际上是在回答自己的问题,否则不要发布答案。如果您想评论其他人的回答,请更新您的问题,或点击他们回答下方的“添加评论”。
    • 我发布的答案与对话相关,并不意味着评论。常见问题评论应用于对不直接影响帖子内容的帖子进行元讨论。它们有时用于指出帖子中的事实错误,或讨论主观问题。
    • 具有讽刺意味的是,您的评论毫无意义地告诫我,这是离题且不必要的,在评论的常见问题解答指南中。
    • 如果你愿意,可以唠叨,但 -1 有点多。无效。
    猜你喜欢
    • 1970-01-01
    • 2011-06-29
    • 1970-01-01
    • 1970-01-01
    • 2010-09-15
    • 1970-01-01
    • 2013-11-16
    • 1970-01-01
    相关资源
    最近更新 更多