懂风讯的看过来!Microsoft VBScript 运行时错误 错误 '800a000d';解决送200积分!

来源:百度知道 编辑:UC知道 时间:2024/06/11 03:02:52
我用的是风讯网站管理系统(FoosunCMS)V 3.2SP1 ,此前运行正常,后来我搬迁了一次服务器(虚拟主机),结果问题就出现了,一直无法生成首页html及新闻页面html。
具体提示错误如下:
当生成文字新闻的时候后台显示:
————————————————————————————
Microsoft VBScript 运行时错误 错误 '800a004c'

路径未找到

/Foosun/Admin/Refresh/Cls_Refresh.asp,行 432
————————————————————————————

而用UE打开的该段代码为(428~438行,【……】中内容为432行):
————————————————————————————

'————————————————————————————————
Sub FSOSaveFile(Content,LocalFileName)
Dim FileObj,FilePionter
Set FileObj=Server.CreateObject(G_FS_FSO)
【Set FilePionter = FileObj.CreateTextFile(LocalFileName,True)】
FilePionter.Write Content
FilePionter.close
Set FilePionter = Nothing
Set FileObj = Nothing
End Sub
'————————————————————————————————

————————————————————————————
而在生成标题新闻的时候,后台显示错误:
————————————————————————————

Microsoft VBScript 运行时错误 错误 '800a000d'

类型不匹配:

第一个可能是虚拟主机不支持FSO组件,就是不能写文件,所以出错。
这个错误是没法解决的,只有换虚拟主机。(用虚拟主机前应详细了解它的功能)
第二个错误可能是这样的
TempFieldContent = Rs(m) 是取数据库中的某个值,这个值是字符串型的,所以有了
【Set TempMatches = regEx.Execute(TempFieldContent)】
但当数据库中所需要的这个值是空时,TempFieldContent就变成空类型,那么
【Set TempMatches = regEx.Execute(TempFieldContent)】
就会因为TempFieldContent类型错误引发错误。
这个问题建议先在数据库里加写垃圾数据,然后用起来后再删。
或者在【】 的语句前添上一句
if isdbnull(TempFieldContent) then TempFieldContent=""
但这样可能会把你系统的漏洞掩盖起来。

rs("UserInfo")=""&HTMLEncode(Request("realname"))&"\"&HTMLEncode(Request("country"))&"\"&HTMLEncode(Request("province"))&"\"&HTMLEncode(Request("city"))&"\"&HTMLEncode(Request("postcode"))&"\"&HTMLEncode(Request("blood"))&"\"&HTMLEncode(Request("belief"))&"\"&HTMLEncode(Request("occupation"))&&quo