CoffeeCat's IT Blog

解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询

大家请看下列的程序:

sql = "insert into table values  "
conn.execute(sql)



运行的时候出现下列错误

Microsoft JET Database Engine 错误'80004005'

操作必须使用一个可更新的查询


你可能会觉得奇怪,这是一个典型的数据库插入语句,怎么不是一个可更新的查询呢?

没错,所以问题的原因只能是您的数据库只读,不能被修改,所以返回如上错误信息。


解决方法:

1:其实这个解决方法在我第一篇文章里已经谈到,也就是关于设置NTFS权限的问题,您可以去那里看到第一种解决方法
    http://www.cnitblog.com/CoffeeCat/archive/2005/08/24/2300.html

2:这里再补充一点,如果您试了第一种方法还是不行,并且您使用的是Access数据库,那么请打开您的这个数据库,然后选择“工具”->"选项"->"高级",设置“默认打开模式”为“共享”,“默认记录锁定”设置为“不锁定”即可。

CoffeeCat
2007-03-23

posted on 2007-03-23 22:00 CoffeeCat 阅读(66862) 评论(28)  编辑 收藏 引用

评论

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询[未登录] 2007-03-26 08:18 dolphin

还真没发现这个~~  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2007-12-11 13:52 ST

哈哈,解决了,谢谢了~~~可以加你QQ或你有QQ群吗,想像你学习哇~~~我QQ249226015~~~  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询[未登录] 2007-12-27 14:16 网络

好象还是解决不了哦  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2008-11-30 11:05 Passion.Zhou

还有没有解决  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2008-12-11 16:10 ImLHY

不行啊~~~  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2008-12-29 10:47 风云

没用  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2009-03-12 21:58 o

Microsoft JET Database Engine  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2009-05-07 09:53 张军

帮帮忙  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2009-05-07 09:54 张军

帮忙  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2009-06-10 17:32 红豆

谢谢 很有用处 我也觉得是和文件权限有关系  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2009-07-09 17:42 ITL

我的问题解决了,我原来是用vista系统的,出现了这个问题试了好多办法不行,我以为是vista的原因,后来我把改成win2003后问题依然存在,就给c:\windows\temp赋上everyone修改权限,这时的错误变成了非有效数据库格式,因我用的是office2007所以我再次把数据库文件存为2003的兼容格式,问题解决  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2009-07-12 16:55 CoffeeCat

@ITL
感谢您的反馈~  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2009-09-02 11:50 x,

Microsoft JET Database Engine 错误 '80004005'

不能使用 '';文件已在使用中。

/inc/conn.asp,行 98
  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2009-09-07 22:03 刘刘

Microsoft JET Database Engine 错误 '80004005'

所有记录中均未找到搜索关键字。

/forum/inc/line.asp,行 17

这个问题又该怎样解决啊?  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询[未登录] 2009-10-17 21:41

问题解决!非常感谢!  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2009-10-23 12:09 yinan

Microsoft JET Database Engine 错误 '80004005'

操作必须使用一个可更新的查询。

/ShowArticle.asp,行 72
  回复  更多评论   

# Microsoft JET Database Engine 错误 '80004005' 2009-11-20 00:03 爱 已 旧

Microsoft JET Database Engine 错误 '80004005'

操作必须使用一个可更新的查询。

/chengrenjiaoyu/ShowArticle.asp,行 23
  回复  更多评论   

# Microsoft JET Database Engine 错误'80004005' 2009-12-30 14:45 Microsoft JET Database Engine 错误'80004005'

Microsoft JET Database Engine 错误'80004005'
大问题  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询[未登录] 2010-01-28 12:17 SONG

恩,谢谢你,真的有用@ITL
  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2010-02-04 18:24 IT这

这问题很简单,windowsXP下安全性比较高,无缘无故会出现这样的问题,在windows server下不会出现,当然经过我尝试,在windowsXP下解决的方法是,把执行语句的conn,1,1改为conn,1,3或conn,2,3
交流QQ727761788  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2010-11-22 19:14 香姐


老师:请您指教:
后台 文件重建

错误原因:未知错误

ID:-2147467259

摘要:
操作必须使用一个可更新的查询。

Microsoft JET Database Engine
  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2010-11-23 23:11 CoffeeCat

@香姐
请参考
http://www.cnitblog.com/CoffeeCat/archive/2005/08/24/2300.html
里面写的方法,应该就可以解决了。

如果还不能解决,可以试试对数据库进行压缩修复  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2010-12-07 08:42 如雪狂飞

为什么我的网站除了主页可以打开,其他页面都显示:错误类型:
Microsoft JET Database Engine (0x80004005)
找不到文件 'F:\site\admin\news_admin\DBwebshop.mdb'。
/site/config.asp, 第 7 行
好急啊、、、怎么解决啊?谢谢啦!  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2011-01-13 12:07 CoffeeCat

@如雪狂飞
肯定是你的数据库地址在config.asp里写错了如果server.mappath返回的路径不正确的话,你就直接使用绝对路径F:\site\admin\news_admin\DBwebshop.mdb吧  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2011-07-04 13:58 yyy

解决了,就是这么个问题。  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2011-08-29 21:22 刘志强

还矿物油  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询[未登录] 2013-09-25 13:28

@ITL
怎样将文件设为win2003 兼容模式呀  回复  更多评论   

# re: 解决 Microsoft JET Database Engine 错误'80004005' 操作必须使用一个可更新的查询 2014-03-17 16:47 selat

感谢分享,问题已经解决了  回复  更多评论   

只有注册用户登录后才能发表评论。
<2013年8月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

公告

常用链接

留言簿(203)

随笔档案

收藏夹

搜索

最新评论

阅读排行榜

评论排行榜