产生原因:
当浏览器客户访问IIS服务器时,如果IIS使用的是默认安全设置,即使用匿名登陆(在IIS中打开某个目录的属性---选择“目录安全性”选项卡----身份验证和访问控制---编辑,在里面可以看到!),即使用IUSR_加你的机器名为匿名登陆名,而此用户属于USERS组。当访问的数据库MDB文件在NTFS格式的分区中时,且对数据库进行写入动作时,由于访问控制列表的原因即出现“数据库或对象为只读”的错误。
解决办法如下:
选择数据库文件--右键属性----安全---在里面可以找到“Users”选择它,在下面“Users”的权限里选中“写入 --允许”。
服务器是否为ntfs格式?请在 *** 作系统中设置该mdb文件的权限为可读写,右键单击该文件即可
这个问题我遇到过的,可以参考以下链接:
>
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
我是一个ASP初学者在下列代码运行是
<!--#include file="conn"-->
<%
uname=requestForm("uname")
pwd=requestForm("upwd")
set rs=serverCreateObject("adodbrecordset")
rsopen "select from admin where username='"& uname &"'",conn,3,3
if rsbof and rseof then
rsaddnew
rs("username")=uname
rs("password")=pwd
rsupdate
rsclose
set rs=nothing
else
responseRedirect"reg"
end if
%>
发生错误
错误如下:
Microsoft OLE DB Provider for ODBC Drivers (0x)
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。
我重张了ACCESS和IIS
都没有用
请问这是什么原因?
解析:
因为您数据库文件所在的目录权限对特定的用户没有开启足够的权限,你只能进行只读访问,一般出现这种情况的文件系统为NTFS,那怎么解决呢?
首先,你找到数据库所在目录,也可以是上层目录,然后设置文件夹 安全 属性,最简单的是把everyone的权限设置成完全即可,那对于这个问题,应该使哪个对象的权限设置成完全呢?答案是 IUSER_您的机器名 。这个是哪个对象?这个是Inter来宾用户,有兴趣的读者可以查阅相关资料。至此,问题解决,你可以再运行一下看看是否解决了问题。
附:对于Windows XP的用户,也许你会茫然于更改文件夹的安全属性。因为在默认情况下,Windows XP使用了简单文件共享方法,所以,当你点 属性 的时候是看不到 安全 选项卡的。具体 *** 作如下:
我的电脑-->文件夹选项-->查看-->取消 使用简单文件共享(推荐) 的勾选 即可。你查看一下你要更改文件夹的属性,是不是多了一个 安全 选项卡呢?
选中安全中的users,将users的权限,允许选中所有
以上就是关于win server 2003 asp网站数据库不能执行写 *** 作,提示数据库为只读,为什么,要怎么改全部的内容,包括:win server 2003 asp网站数据库不能执行写 *** 作,提示数据库为只读,为什么,要怎么改、在asp中对access数据库插入数据,总是“Microsoft JET Database Engine 错误 数据库或对象为只读。”、数据提交是发生错误等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)