当前位置: 首页 > news >正文

Microsoft JET Database Engine (0x80004005)操作必须使用一个可更新的查询

技术信息(用于支持人员)  
错误类型:Microsoft JET Database Engine (0x80004005)
                  
操作必须使用一个可更新的查询。

 

在网上找到了原因,折腾了我好几天,终于搞定了,呵呵
有几个主要的错误原因:

这个错误发生在当你的程序试图执行更新数据库或其它类似操作时。这是因为

ADO
由于以下的几个原因而不能够写数据库造成的。

1
。最普遍的原因是匿名用户帐号(IUSR_MACHINE)对该数据库文件没有写权限。

要解决这个问题,在管理器中调整数据库文件的属性,让匿名用户有正确的权限。

当使用ACCESS数据库时,不仅要给文件写的权限,还要给该目录写 的权限,因为

Jet
需要在该目录建立一个.ldb文件。

2
。第二个原因是数据库没有使用正确的模式打开。应该使用下面的方法打开。

SQL = "UPDATE Products Set UnitPrice = 2;"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Mode = 3 ''3 = adModeReadWrite
Conn.Open "myDSN"
Conn.Execute(SQL)
Conn.Close
注意默认的Mode是设置0(adModeUnknown),它是允许更新的。

3
。还有可能是在ODBC管理器中将该DSN的只读选项选中。

4
。你是在同时更新两个表中的字段,也会出现这个错误信息,解决办法是分开来更新

这两个表中各自字段。

5
。当你使用了一个从低版本中(如ACCESS2.0,ACCESS7.0)载入到高版本
(ACCESS 2000)
中的查询时,在执行这个查询是会出现该错误。



对于第一种原因的解决方法,在管理器中调整数据库文件的属性,让匿名用户有正确的权限,操作步骤如下:
FAT32
分区下对单个文件或文件夹是不用设置访问权限的,但是NTFS不同,必须设置访问权限才能从WEB上更新里面的数据,具体做法:
文件夹选项中的查看中的使用简单文件共享前的钩去掉(先选中你的数据库文件所在文件夹),然后选择该文件夹的属性,会有一个安全页,设置里面的“everyone”的访问权限为你所需要的。那个问题就可以解决了。不过有的机子上没有“everyone”这个用户,只好把所有的用户的权限都设为最高级。

相关文章:

  • VS2005网站项目运行,无法通过localhost访问页面
  • vs 2003无法创建项目 http1.1 500 server error 如何解决
  • textarea限制字数
  • asp 生成静态
  • 图片做提交按钮和重置按钮
  • 80后的80条幽默有哲理的语录(转)
  • 蜗居台词,蜗居经典台词
  • 2009年最新搞笑语录
  • 系统找不到指定文件 No installed service name 'Apache2'
  • Js双击鼠标自动滚动屏幕的代码
  • 一个过滤特殊字符的JS
  • 一个精美强大的JS日历
  • 从客户端中检测到有潜在危险的 Request.Form 值
  • 风声无组件上传出现无效的过程调用或参数instr的解决办法
  • 风声无组件上传(2.0)修改版参数详解
  • [译]如何构建服务器端web组件,为何要构建?
  • C++入门教程(10):for 语句
  • css系列之关于字体的事
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • js继承的实现方法
  • JS数组方法汇总
  • maya建模与骨骼动画快速实现人工鱼
  • mysql常用命令汇总
  • Python 基础起步 (十) 什么叫函数?
  • Python代码面试必读 - Data Structures and Algorithms in Python
  • Python利用正则抓取网页内容保存到本地
  • ReactNative开发常用的三方模块
  • Web设计流程优化:网页效果图设计新思路
  • 翻译--Thinking in React
  • 规范化安全开发 KOA 手脚架
  • 如何设计一个比特币钱包服务
  • 我与Jetbrains的这些年
  • k8s使用glusterfs实现动态持久化存储
  • 通过调用文摘列表API获取文摘
  • ​软考-高级-系统架构设计师教程(清华第2版)【第20章 系统架构设计师论文写作要点(P717~728)-思维导图】​
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #Java第九次作业--输入输出流和文件操作
  • #NOIP 2014#Day.2 T3 解方程
  • #考研#计算机文化知识1(局域网及网络互联)
  • #我与Java虚拟机的故事#连载17:我的Java技术水平有了一个本质的提升
  • (8)STL算法之替换
  • (html5)在移动端input输入搜索项后 输入法下面为什么不想百度那样出现前往? 而我的出现的是换行...
  • (pojstep1.3.1)1017(构造法模拟)
  • (Python) SOAP Web Service (HTTP POST)
  • (pytorch进阶之路)CLIP模型 实现图像多模态检索任务
  • (太强大了) - Linux 性能监控、测试、优化工具
  • (一)VirtualBox安装增强功能
  • ******之网络***——物理***
  • .dwp和.webpart的区别
  • .equals()到底是什么意思?
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .NET Micro Framework初体验(二)
  • .net Signalr 使用笔记
  • .NET/C# 利用 Walterlv.WeakEvents 高性能地中转一个自定义的弱事件(可让任意 CLR 事件成为弱事件)