代码改变世界

不能更新。数据库或对象为只读

2006-10-24 12:35  JohnHoo  阅读(5175)  评论(6编辑  收藏  举报

yms123 回复:

不是文件夹,应该是数据库的文件一般这种情况Access2000等数据库中。把数据库的.MDB文件右键属性然后把只读的勾去掉。


金桥
是的,我是用NTFS分区的,在虚拟目录的属性里,我已选上了“写入”。不知还有什么地方要设置。

无根泉 回复:

二种可能,
一是数据库的属性为:只读
二是数据库的权限,everyone没有写入的权限
第一种的解决方法:
  右键文件夹,-选择“属性”,将只读前面的勾去掉,
第一种的解决方法:
  右键文件夹,选择“属性”-“安全”,将“写入”前面的勾选

Juven

使用ntfs分区的吧?
使用 NTFS 分区要打开数据库文件的写权限。

幻想曲 回复:
======错误类型:
Microsoft JET Database Engine (0x80040E09)
不能更新。数据库或对象为只读。=====
解决办法:

IIS来宾用户没有写权限。 数据库文件=》右键属性=》安全 选项卡 中设置。。XP系统默认不显示安全选项卡 需要先把文件夹选项中 使用简单文件共享 前面对号去掉

部分整理的方法:

错误类型一:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。
错误类型二:
Microsoft OLE DB Provider for ODBC Drivers 错误 ''80004005''
[Microsoft][ODBC Microsoft Access Driver]常见错误 不能打开注册表关键字 ''Temporary (volatile) Jet DSN for process 0x728 Thread 0x854 DBC 0x276fb44 Jet''。
-------------------------------------------------------------------

当你使用ASP连接数据库时可能会出现这种情况,为什么呢?因为您数据库文件所在的目录权限对特定的用户没有开启足够的权限,你只能进行只读访问,一般出现这种情况的文件系统为NTFS,那怎么解决呢?

对于 windows 2000 server 的用户:
首先,你找到数据库所在目录,也可以是上层目录,然后设置文件夹 安全 属性,最简单的是把everyone的权限设置成完全即可,那对于这个问题,应该使哪个对象的权限设置成完全呢?答案是 IUSER_您的机器名 。这个是哪个对象?这个是Internet来宾用户,有兴趣的读者可以查阅相关资料。至此,问题解决,你可以再运行一下看看是否解决了问题。

附:对于Windows XP的用户,也许你会茫然于更改文件夹的安全属性。因为在默认情况下,Windows XP使用了简单文件共享方法,所以,当你点 属性 的时候是看不到 安全 选项卡的。具体操作如下:

我的电脑-->文件夹选项-->查看-->取消 使用简单文件共享(推荐) 的勾选 即可。你查看一下你要更改文件夹的属性,是不是多了一个 安全 选项卡呢?