一个关于ASP数据库的问题

来源:百度知道 编辑:UC知道 时间:2024/06/10 12:57:20
错误类型:
Microsoft JET Database Engine (0x80040E09)
不能更新。数据库或对象为只读。
/yprshhoutaiguanlixitong/QQsetup.asp, 第 128 行

我查看这个目录的属性.只读前面有个实心的方框.去掉之后,再查看,还是有.
我的测试环境是WINXP+IIS...

因为您数据库文件所在的目录权限对特定的用户没有开启足够的权限,你只能进行只读访问,一般出现这种情况的文件系统为NTFS,那怎么解决呢?
首先,你找到数据库所在目录,也可以是上层目录,然后设置文件夹 安全 属性,最简单的是把everyone的权限设置成完全即可,那对于这个问题,应该使哪个对象的权限设置成完全呢?答案是 IUSER_您的机器名 。这个是哪个对象?这个是Internet来宾用户,有兴趣的读者可以查阅相关资料。至此,问题解决,你可以再运行一下看看是否解决了问题。

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

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

选中安全中的users,将users的权限,允许选中所有

这个跟你的目录的读写方式是没有关系的,而是对文件的操作权限有关系!
给文件的权限加上everyone的,就OK
如果还是不行,那就是你打开数据库的方式为只读方式!
如:rs.open sql,conn,1,1
改成 rs.open sql,conn,1,3

原因主要是由于无法更新数据库数据,比如无写权限等一般有如下两点:
1、你的数据库为ACCESS格式、你的数据库文件的属性为“只读”。
2、你的数据库为ACCESS格式、你的网站程序及数据库是放置在ntfs文件格式盘上的。
解决办法:
1、在你的数据库文件属性栏将“只读”前的“√”点掉即可。
2、检查数据库文件所在文件夹的windows文件系统(NTFS)权限。如果有的话,打开我的电脑,右键点那个文件,改属性在安全性里面给 IUSR_你的计算机名 这个用户加上写入修改的权限。用户名不一定是这个,在 IIS 查网站属性->目录安全性->身份验证和访问控制点“编辑”,里面选上“启用匿名访问”然后那个“对匿