网上找到的方法1:
在运用xmlhttp组件编写程序中,会碰到 ”msxml3.dll 错误 ‘800c0005’ 系统未找到指定的资源。” 这种错误,网上对这种错误的产生原因有很多钟解释,大体说是因为防火墙或UDP站口权限造成了,也说了相应的解决办法。其它有时候也未必。其实错误的描述中就说出了主要的原因 ”系统未找到指定的资源” 。这种错误都是出现在调用了 xmlhttp 组件的 Open方法,接着再用Send方法后造成的。当open方法的的 url 参数无法访问时,就会造成 8000005 错误。并且一旦产生这种错误,就会导致应用程序终止,无法继续操作。大多数的程序是这样写的:
Function functionName(pararm …)
Dim Http
Set Http=Server.CreateObject(”MSXML2.XMLHTTP.4.0″)
With Http
.open ”GET”,HttpUrl,False
.Send
End With
If Http.Readystate<>4 then
Set Http=Nothing
……
Exit function
End if
End Function
大多数的程序都是运用xmlhttp的 Readystate 属性判断从服务器的返回状态。其实这样未必适合,很多时候用ReadyState 属性判断并不能真正检测到程序流程中的错误。当遇到错误的时候,仍然会致使程序终止。其实修改一下上面的代码,完全可以实现跳过程序执行过程中遇到的错误,使程序继续运行。修改代码如下:
Function functionName(pararm …)
Dim Http
Set Http=Server.CreateObject(”MSXML2.XMLHTTP.4.0″)
With Http
.open ”GET”,HttpUrl,False
.Send
End With
On Error Resume Next
If Http.Status<>200 then
Set Http=Nothing
……
Exit function
End if
End Function
Send 方法产生错误的时候,ReadyState的值或许为4,但Status的返回值就一定不是200的。呵呵,我经过多次跟踪ReadyState和Status的值得到以前结果。可能会有差错,目前我还没有发现。
希望以上程序解决方案能够帮到你!!如果朋友你有更好的解决方法,请一定告诉我哟。
我是以MSXML2.XMLHTTP.4.0为例说明的程序,也适合其它版本的XMLHTTP组件。想检查的你系统中已经安装了哪些版本的XMLHTTP组件,请到注册表的 HKEY_CLASSES_ROOT 下查找。
方法2:
XMLHTTP msxml3.dll出错解决方案XMLHTTP msxml3.dll出错解决方案
我们在使用XMLHTTP的时候,有的时候可能不稳定,不正常.
即原本正常的程序突然会出现XMLHTTP错误,错误提示大概意思就是msxml3.dll怎样的..
以前个人百思不得其解,而且网上各种各样的解释都无法行得通.
前些日子,我必须解决这个问题,尝试采取如下方法,既然OK了.
方法: 在程序运行所在服务器上调整IE的安全等级为中或者偏低即可.
这种方法非常有效.
但运行一些时候出现的问题即让我更更加郁闷.
正常好长一个时期后,它又出现相同的问题.
我进入服务器查看IE设置.郁闷的是它恢复了原先的安全等级.!设置为中或者偏低.又正常了.
不知道使用XMLHTTP的时候是否顺带把安全等级也恢复回去?
但是有一个我肯定是知道的.当在服务器上使用XMLHTTP的时候. 服务器就是一个假定的客户端和访问者.
因此客户端必须要支持XMLHTTP.而且XMLHTTP初初也是IE特有的东西(虽然现在好多都有了).
现在还未出现重新恢复回原安全等级的问题.但是这个问题一直困扰着我,如果有谁知道原因.
烦劳解释.谢谢.
2005.04.27 早晨 03:39
刚刚还在想如何解决这个问题,尝试了如下一个方法.目前适用于Windows Server 2003
如果重置安全等级后XMLHTTP还是反复无常.
请进入服务器设置您的IE安全选项,在受信任网站里加入您要获取的域名即可.
结论:
经过以上两个方案的操作,都没有结果,结果仍然抱错。
不得已,重新安装了MSXML 4.0 Service Pack 2 (Microsoft XML Core Services)(msxmlchs.msi)和Hotfix for MSXML 4.0 Service Pack 2 - KB832414 - 简体中文(KB832414_MSXML4.0_x86.exe)之后发现就可以了。不知道还会不会重复这种错误,静观其变。
估计还有很多遇到这种情况的朋友,希望有所帮助