谁来帮我看看asp的错误提示是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/06/28 21:37:26
错误类型:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。
/action.asp, 第 13 行

浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; Maxthon)

网页:
POST 37 ??? /action.asp

POST Data:
number=44&code=gd&Submit=%CC%E1%BD%BB

时间:
2007年5月27日, 0:59:23

详细信息:
Microsoft 支持
数据库只读?我用的是win xp sp2/Axxess数据库
id=request.Form("number")
code=request.Form("code")

'set conn=Server.CreateObject("ADODB.Connection")
'conn.open "DRIVER=Driver do Microsoft Access (*.mdb);UID=;PWD=;DBQ="&Server.MapPath("data/main.mdb")
'set rst=server.createobject("ADODB.recordset")
sql="select * from addver"
rst.open sql,conn,1,3
rst.addnew
rst("adver_id")=id
rst("adver_code")=code
rst.upda

Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。2007-01-10 08:57如果配置站点的时候,分区是NTFS格式的情况下,往往会遇到80004005的数据库或对象为只读错误,如:

Microsoft OLE DB Provider for ODBC Drivers 错误 '80004005'

[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。

造成这个原因的问题就是站点目录的访问权限问题,因为在使用Access数据库的时候,要在同目录生成一个.ldb文件,如果此目录没有写权限或者Access数据库本身没有写的权限,那么就会报这个错误。由于通过浏览器访问网站大都使用Internet匿名访问,我们只需要在数据库的目录权限里添加上“IUSR_计算机名”用户就可以了,分给它“写入”权限。我发现一些文章说让加入EveryOne用户,并给“写入”权限,这个太危险了。原则上是此目录加的可以写入用户就是在IIS中配置的时候加的Internet匿名访问用户,一般默认为“IUSR_计算机名”,不过如果是虚拟主机就要自己看看了。

具体的操作方式就是:

鼠标右键点击数据库所在目录(或者它上级目录,但是注意要能够继承权限)-〉选择“共享和安全”-〉选择“安全”选项卡-〉点击“添加”按钮-〉点击“高级...”按钮-〉点击“立即查找(N)”按钮-〉找到前缀为“IUSR_”的用户名(格式为IUSR_计算机名)-〉选中此用户,点击确定-〉这样这个用户就被加进来了-〉在“Internet来宾帐户”的权限框中,除了默认的还要选中“写入权限”-〉“应用”或者“确定”即可。
提示:如果是WinXP系统下找不到“共享和安全”选项,需要先进行一下设置:“工具”-〉“文件夹选项”-〉“查看”-〉“默认使用简单共享(推荐)”,把这个选项去掉,再在文件夹上右键点击,就会出现安全这个选项。

代码贴出来

鼠标右键点击数据库所在目录(或者它上级目录,但是注意要能够继承权限)-〉选择“共享和安全”-〉选择“