天干地支如何纪年:我用ASP做了一个系统,调试时总出现一个这样的问题,真的请各位大虾帮我一把

来源:百度文库 编辑:高校问答 时间:2024/04/29 18:33:46
问题如下:"Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] 不能更新。数据库或对象为只读。
/asp/admin/check.ASP, 第 19 行

我现把check.asp代码如下:
<!--#include file=conn.asp-->
<!--#include file=inc/md5.asp-->
<%
dim rs,sql
dim zkz,password
zkz=request.form("zkz")
password=md5(request.form("password"))
if zkz="" then
response.redirect"error.asp?id=5"
else
set rs=server.createobject("adodb.recordset")
sql="select * from user where zkz='"&zkz&"'"
rs.open sql,conn,1,1
if rs.eof then
response.redirect"error.asp?id=6"
elseif zkz=rs("zkz") and password=rs("Password") then
response.cookies("cnwy")="cnwy"
response.cookies("name")=rs("name")
response.cookies("kt")=rs("kt")
response.cookies("class")=rs("class")
response.cookies("zkz")=rs("zkz")
response.redirect"main.asp"
elseif password="" then
response.redirect"error.asp?id=7"
else
response.redirect"error.asp?id=8"
rs.close
set rs=nothing
set conn=nothing
end if
end if
%>
其中第19行的代码是:response.cookies("kt")=rs("kt")
我真

原因主要是由于无法更新数据库数据,比如无写权限等一般有如下两点:
1、你的数据库为ACCESS格式、你的数据库文件的属性为“只读”。
2、你的数据库为ACCESS格式、你的网站程序及数据库是放置在ntfs文件格式盘上的。
解决办法:
1、在你的数据库文件属性栏将“只读”前的“√”点掉即可。
2、检查数据库文件所在文件夹的windows文件系统(NTFS)权限。如果有的话,打开我的电脑,右键点那个文件,改属性在安全性里面给 IUSR_你的计算机名 这个用户加上写入修改的权限。用户名不一定是这个,在 IIS 查网站属性->目录安全性->身份验证和访问控制点“编辑”,里面选上“启用匿名访问”然后那个“对匿名访问使用下列Windows用户帐户”就是要加权限的帐户。
winxp下需要取消默认的“简单共享模式”,才可以设置ntfs目录权限。打开“我的电脑”,依次点击“工具→文件夹选项”,在打开的对话框中选择“查看”选项卡,清空“使用简单共享(推荐)”前的复选框。

把这一行去掉看看是不是还出错!呵呵,
如果还出错就把
rs.open sql,conn,1,1 改了吧!郁闷得很!

rs.open sql,conn,3,3 试试

如果还有问题就见鬼了!

呵呵,楼上的二位都弄错了

其实这个是因为NTFS格式的磁盘对Access数据库设置的读写权限问题

在你的Access数据库上右键--属性--安全--添加--立即查找--Everyone

将Everyone用户添加近来,并赋予其对数据库的读写权限即可

此问题是server2003中ACCESS数据库权限的问题,将你的数据库文件(*.mdb或*.asa)添加everyone用户组(右键--属性--安全--添加--Everyone ),读写权限是默认给与的,需要给他赋予修改的权限,这样用户访问就没有问题了

http://www.blueidea.com/bbs/newsdetail.asp?id=1599406&posts=current

check.ASP 这个文件是不是只读的,,,右键点属性看一下,要是只读的话会出现这样的问题
还有conn.asp
md5.asp这两个文件也看一下