当前位置: 首页 > 图文教程 > 网络编程 > ASP > [原创]完美解决ASP 不能更新。数据库或对象为只读。

ASP
用asp执行DTC
利用ADODB.Stream使用浏览器下载服务器文件
应用数据库的唯一性约束并在asp中捕捉数据库的错误
用ASP编程控制在IIS建立Web站点
asp实现k线图(在线)
在ASP中用EasyMailObject组件处理Exchange邮件源代码(7)
在ASP中用EasyMailObject组件处理Exchange邮件源代码(6)
在ASP中用EasyMailObject组件处理Exchange邮件源代码(5)
在ASP中用EasyMailObject组件处理Exchange邮件源代码(4)
在ASP中用EasyMailObject组件处理Exchange邮件源代码(3)
在ASP中用EasyMailObject组件处理Exchange邮件源代码(2)
在ASP中用EasyMailObject组件处理Exchange邮件源代码(1)
用文本+ASP打造新闻发布系统。几点补充
用文本+ASP打造新闻发布系统(五)新闻修改
用文本+ASP打造新闻发布系统(四)新闻删除
用文本+ASP打造新闻发布系统(三)新闻列表显示
用文本+ASP打造新闻发布系统(二)新闻添加
ASP作的剪包锤游戏
ASP注册表项目修改
构建稳定的服务器端组件的七个步骤

[原创]完美解决ASP 不能更新。数据库或对象为只读。


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-12   浏览: 70 ::
收藏到网摘: n/a

最近帮别人处理下数据,发现添加数据时,就提示"ASP 不能更新。数据库或对象为只读。",从网上找了,也没有解决我的问题.
1、服务器的数据目录mdb文件所在的目录,是只读的
2、数据库在本地的权限,去只读权限,再上传
3、有可能你是从只读目录移动到可读目录的,所以一定不能这么用,先下到本地,再上传,可解决此类问题。www.ruanchen.com
"不能更新,数据库或对象为只读"的解决方案
初接触dreamweaver,在做一简单页面实现向access数据库写数据时,总是遇到这样一错误:
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来宾帐户”的权限框中,
除了默认的还要选中“写入权限”-〉“应用”或者“确定”即可。