一个正常,另一个说数据库只读!奇怪!

htzq 2003-09-12 03:49:15


这个可以插入记录
http://www.zjgda.gov.cn/jjf/hrtoy/tx/showgb.asp
而这个不可以插入记录

http://www.zjgda.gov.cn/project/hrtoy/tx/showgb.asp

但第二个是我把第一个原封不动的拷过来的啊,

出错的提示!

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

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

/project/hrtoy/tx/savedata.asp,行36
...全文
60 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
yycxy 2003-09-13
  • 打赏
  • 举报
回复
肯定是权限的问题,把EVERYONE加入肯定可以!!!
htzq 2003-09-13
  • 打赏
  • 举报
回复
这个问题我知道,肯定是权限的问题,把EVERYONE加入肯定可以,试一下
htzq 2003-09-12
  • 打赏
  • 举报
回复
各位,我的这两个留言板有自己独立的access数据库,一模一样!


db.asp//连接数据库
<%
set conn=server.createobject("adodb.connection")
dbpath=server.mappath(path & "db/gbgb.mdb")
conn.open "Driver={microsoft access driver (*.mdb)};dbq=" & dbpath
%>

插入记录的asp文件
<!-- #include file="include/db.asp" -->
<%
id=request("id")
if id="" then
id=0
end if
name=request("name")
email=request("email")
from=request("from")

homepage=request("homepage")
title=request("title")
content=request("content")
email=request("email")
telephone=request("telephone")
danwei=request("danwei")
fax=request("fax")
address=request("address")
if title="" or name="" then
response.write "请写上名字或主题"
response.end
end if
set rs=server.createobject("adodb.recordset")
if id>0 then
gbtable="replay"
else
gbtable="gb"
end if
rs.open gbtable,conn,1,3
rs.addnew
rs("name").value=name
rs("email").value=email
rs("homepage").value=homepage
rs("title").value=title
rs("content").value=content
rs("email").value=email
rs("telephone").value=telephone
rs("danwei").value=danwei
rs("fax").value=fax
rs("address").value=address

if id>0 then
rs("replayid").value=id
end if
rs.update
rs.close
if id>0 then
sql="update gb set replay=replay+1 where id=" & id
conn.execute(sql)
end if
conn.close
set rs=nothing
set conn=nothing
response.redirect "saveok.asp"
%>


lions911 2003-09-12
  • 打赏
  • 举报
回复
应该是NTFS文件夹权限的问题
lions911 2003-09-12
  • 打赏
  • 举报
回复
应该是NTFS文件夹权限的问题
pysjf 2003-09-12
  • 打赏
  • 举报
回复
楼主,把代码贴出来大家研究一下!
xiangtx 2003-09-12
  • 打赏
  • 举报
回复
权限问题在Access文件上,如果想在两个文件中都能写同一个数据库,那么只要在asp程序中的数据库连接指向原数据库即可。
yangsm 2003-09-12
  • 打赏
  • 举报
回复
我的也出现过类似的情况,改一下它的权限就可以了。
diya 2003-09-12
  • 打赏
  • 举报
回复
权限问题,改成everyone就可以。
damboo 2003-09-12
  • 打赏
  • 举报
回复
如果把文件拷贝到ntfs分区
经常出现这种情况
需要的目录的属性中查看“安全”选项卡
把其中everyone或者IUser的权限全部勾上才行
ACCESS数据库操作必须使用一个可更新的查询 解决办法 ACCESS数据库无法更新问题:  一般在Winxp与windows 2003 server下,文件目录的只读属性会影响网站程序写数据库操作,即使用户已经去掉其只读属性,但是之后只读又失效,导致许多网站不能正常运行。事实上,网站程序目录读写权限才是影响其运行的根本原因。所以只读属性能否去掉并不重要,只需要把相应目录赋予读写权限即可。 1、在通常情况下,Web应用程序只读属性并不影响Web系统运行。在需要写入、更新数据库时,Web程序操作数据库因权限不够会提示"操作必须使用一个可更新的查询。"这种情况可能会在NTFS分区环境下出现,FTA32一般分区不会出现。将Web应用程序放在FTA32分区下运行时,不会出现因权限等问题而导致系统不能正常运行的情况,但是其安全性不如NTFS好。因此,一般网站软件可在FTA32下测试运行,单位正式网站软件建议放置在NTFS下运行。 2、现以XP环境下,NTFS格式为例。进入网站根目录,工具—>文件夹选项—>查看,将“使用简单文件共享”前的勾选去掉。 3、网站根目录赋予Everyone完全控制、读写权限。 下面以一个例子更详细的介绍解决此类问题的方法和过程 出错举例:Microsoft JET Database Engine (0x80004005)操作必须使用一个可更新的查询。/LeadBBS/inc/Board_Popfun.asp, 第 569 行需要权限:服务器管理员,否则联系服务器管理员进行示例操作系统:Windows 2000 Server1.找到你存放网站的文件夹,比如你的网站存放在D:\WEB\News.com右键点击文件夹,选择属性点击小图查看大图 2.出来新窗口,选择安全,点击按钮添加(D)点击小图查看大图 3.在出来的窗口中,找到IUSER_开头的名称,并双击,点击确定.点击小图查看大图 4.确定后的结果是这个窗口,在安全的名称列表中多了刚才选择的用户点击下面的按钮 高级(V)...点击小图查看大图 5.在弹出的新小窗口中,继续点击 查看/编辑(V) 按钮点击小图查看大图 6.出来新窗口..点击小图查看大图 7.重新选择权限分配.点击小图查看大图 8.点击应用完成设置 这个错误提示   因为程序是在别的机器上完成的,应该是没有错误的,根据提示,好像是“IUSR_机器名”这个用户的权限不够,“IUSR_机器名”这个用户是用来匿名访问网站的用户,一般来在本机调试的时候,访问自己硬盘的时候用的就是这个用户。 那就重新设定一下目录的权限就可以了,不过,当我打开asp程序所在目录的属性时,却没找到安全这个选项卡,???奇怪了!哦,我用的是winxp系统,找找看吧!肯定被藏起来了~~ “我的电脑”-“工具”-“文件夹选项”-“查看”-“使用简单文件共享(推荐)”。 靠,居然还推荐,好吧 去掉“使用简单文件共享(推荐)”前面的对号,确定,在看看~~嘿嘿 安全 这个出来了吧~ 看看有没有Internet来宾帐户(名字格式为“IUSR_机器名”),果然没有!添加!!!???xp里面还需要自己手动添加,我记得原来win2k里面选一下就可以了,好吧,自己动手,丰衣足食!然后将写入的权限赋予这个用户,确定! 打开浏览器,嘿嘿,问题搞定!

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧