打印

[asp] 自动生成首页,经常出现错误

我做了自动生成静态首页的程序。
后来服务器磁盘权限重新设置之后静态生成程序就经常显示
ADODB.Stream 错误 '800a0bbc'

写入文件失败。

磁盘权限设置administrator完全控制 system完全控制 该网站用户写权限。
是间歇性的一下行一下不行。IIs里设置这个文件可写入也不行。
我今天测试发现如果程序更换一下名称比如程序生成的时候不使用Index.html这个文件名 使用其他名称就运行正常 。
但是一旦把这个页面设置Iis的默认页就会经常生成失败。我想是不是与IIs有关。
错误提示是:
复制内容到剪贴板
代码:
ADODB.Stream 错误 '800a0bbc'
写入文件失败。
是不是你没有给IUSER_机器名的写权限呀。
我给了该网站用户写权限。应该没有可能,否则怎么会时好时坏呢?如果没有写权限,应该一直不能写才对啊

TOP

还在为头像烦恼?还在为不能关注好友动态烦忧?快来蓝色理想家园吧!
还没有解决。。。

TOP

是不是IIS进程在读取该文件的时候锁定了他?
你风流,我俊雅,和你同年少,两情深,罚下愿,再不去跳槽。

TOP

在本地上测试正常吗???

会不会含有什么特殊代码,被杀毒的给锁定了。

TOP

to hanguofeng:有可能,但是不知道是怎么锁定的,可能有人读取这个文件的一瞬间,是无法覆盖这个文件。但原先没有这个问题

to bluewjzhhr:本地正常,就是这次重装服务器系统后产生的问题,代码没变,原先是完全正常。

TOP

我感觉是hanguofeng说中了要害,目前还不知道怎么能解决
iis上有相关的设置吗?也就是说一个用户访问一个html时允许另一个用户同时重写这个文件

TOP

http://bbs.blueidea.com/thread-2662778-1-1.html
和这个朋友遇到的问题可以说是完全一致

TOP

引用:
我做了自动生成静态首页的程序。
应该是你的服务器系统问题吧(请确保在本地上一切正常),我做的批量生成文章页面,一下子生成5K++都没有问题,只是要一点时间而已。XP和2003都正常,没有出现任何的问题。
最好修复一下IIS或者重启IIS。

应用程序池“标识” 服务那里是“网络服务”吗,还有就是用户,asp是IUSER_机器名,asp.net是IIS_WPG。

[ 本帖最后由 bluewjzhhr 于 2008-6-27 15:08 编辑 ]

TOP

程序肯定是没有问题,系统问题也不太可能,现在的核心问题和现象是一会能生成一会不能生成,是时好时坏的
如果程序或者系统问题,应该没有可能成功生成,只要能成功,证明整个程序是正常执行了的

按楼上的现在没有办法解释这个现象,唯有当文件正在被读取的时候无法覆盖,符合这个现象

TOP

很明确的错误啊:没有写权限,你文件夹没开权限能生成才怪

TOP

把那些多的用户全部删了,只留IIS和ADMIN... ,在添加一个EVERYONE 给权限,
另外就是IIS的问题了,你把程序上传到网上去多试几次,如果没问题的话就是你系统了
IIS 6.0

[ 本帖最后由 shw3588 于 2008-6-27 17:09 编辑 ]

TOP

可能空间不支持FSO

TOP

我想的方法是这样的,设定下文档顺序,比如default.asp、index.html
然后default.asp里面重定向到index.html
然后生成时候生成index.html,试下,也许会好点
你风流,我俊雅,和你同年少,两情深,罚下愿,再不去跳槽。

TOP

to iid0019:你没看明白问题,是有时候能生成,有时候不能,成功生成大概百分之五十,这肯定不是没开写权限吧?何况写权限已经开了。

to shw3588:everyone给写权限不可能,这太不安全了,程序没动过,就是重装了系统,应该是系统方面的问题,比如系统某些设置影响的。

to cjiang:不可能,网站中有fso,也有上传组件,运行都很正常,肯定是支持fso的。

to hanguofeng:你的方法我还没有测试,不知道这是什么用意呢?

TOP

你的程序肯定有问题!

程序生成出现故障!导致系统组件无法正常工作!
然后直接忽略!

TOP

那楼上如何解释,有时能够正常生成?

TOP

这个问题很奇怪,以前搞了很久没有搞成功。后来我搞成这样就行了。。
楼上的试一试这样行不行?
<form action="OtherHtmlIndexSave.asp" method="post">
<table border="0">
  <tr>
    <td width="173">&nbsp;</td>
    <td width="243"><textarea name="body" cols="70" rows="10"><!--#include file="../index.asp"--></textarea></td>
  </tr>
  <tr>
    <td><div align="right">
      <input type="submit" name="Submit" value="提交">
    </div></td>
    <td>&nbsp;</td>
  </tr>
</table>
</form>

OtherHtmlIndexSave.asp页面
<%
filename="../index.htm"
if request("body")<>"" then
set fso = Server.CreateObject("Scripting.FileSystemObject")
set fout = fso.CreateTextFile(server.mappath(""&filename&""))
fout.write request.form("body")
fout.close
set fout=nothing
set fso=nothing
end if
call ErrorMsg("首页生成成功")
%>

TOP

谢谢楼山的代码,但是和你的生成方式不同,不是用的fso,是ADODB.Stream方式的

TOP