解決采集時(shí)出現(xiàn)msxml3.dll 錯(cuò)誤的方法
更新時(shí)間:2007年08月01日 19:50:59 作者:
采集時(shí)出現(xiàn):
msxml3.dll 錯(cuò)誤 '800c0005'
系統(tǒng)未找到指定的資源。
/Admin/Item/Admin_ItemFunction.asp,行166
我查了資料:
在運(yùn)用xmlhttp組件編寫程序中,會(huì)碰到 "msxml3.dll 錯(cuò)誤 '800c0005' 系統(tǒng)未找到指定的資源。" 這種錯(cuò)誤,網(wǎng)上對(duì)這種錯(cuò)誤的產(chǎn)生原因有很多鐘解釋,大體說(shuō)是因?yàn)榉阑饓騏DP站口權(quán)限造成了,也說(shuō)了相應(yīng)的解決辦法。其它有時(shí)候也未必。其實(shí)錯(cuò)誤的描述中就說(shuō)出了主要的原因 "系統(tǒng)未找到指定的資源" 。這種錯(cuò)誤都是出現(xiàn)在調(diào)用了 xmlhttp 組件的 Open方法,接著再用Send方法后造成的。當(dāng)open方法的的 url 參數(shù)無(wú)法訪問(wèn)時(shí),就會(huì)造成 8000005 錯(cuò)誤。并且一旦產(chǎn)生這種錯(cuò)誤,就會(huì)導(dǎo)致應(yīng)用程序終止,無(wú)法繼續(xù)操作。大多說(shuō)的程序是這樣寫的:
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
大多數(shù)的程序都是運(yùn)用xmlhttp的 Readystate 屬性判斷從服務(wù)器的返回狀態(tài)。其實(shí)這樣未必適合,很多時(shí)候用ReadyState 屬性判斷并不能真正檢測(cè)到程序流程中的錯(cuò)誤。當(dāng)遇到錯(cuò)誤的時(shí)候,仍然會(huì)致使程序終止。其實(shí)修改一下上面的代碼,完全可以實(shí)現(xiàn)跳過(guò)程序執(zhí)行過(guò)程中遇到的錯(cuò)誤,使程序繼續(xù)運(yùn)行。修改代碼如下:
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 方法產(chǎn)生錯(cuò)誤的時(shí)候,ReadyState的值或許為4,但Status的返回值就一定不是200的。呵呵,我經(jīng)過(guò)多次跟蹤ReadyState和Status的值得到以前結(jié)果??赡軙?huì)有差錯(cuò),目前我還沒(méi)有發(fā)現(xiàn)。
希望以上程序解決方案能夠幫到你!!如果朋友你有更好的解決方法,請(qǐng)一定告訴我喲。
我是以MSXML2.XMLHTTP.4.0為例說(shuō)明的程序,也適合其它版本的XMLHTTP組件。想檢查的你系統(tǒng)中已經(jīng)安裝了哪些版本的XMLHTTP組件,請(qǐng)到注冊(cè)表的 HKEY_CLASSES_ROOT 下查找。
根據(jù)以上資料,我只做了如下修改,便可以正常采集,無(wú)需進(jìn)行什么安裝組件、重起、關(guān)閉防火墻等操作:
/Admin/Item/Admin_ItemFunction.asp,行166 附近:
Http.Send()
If Http.Readystate<>4 then
改為
On Error Resume Next
Http.Send()
If Http.Status<>200 then
msxml3.dll 錯(cuò)誤 '800c0005'
系統(tǒng)未找到指定的資源。
/Admin/Item/Admin_ItemFunction.asp,行166
我查了資料:
在運(yùn)用xmlhttp組件編寫程序中,會(huì)碰到 "msxml3.dll 錯(cuò)誤 '800c0005' 系統(tǒng)未找到指定的資源。" 這種錯(cuò)誤,網(wǎng)上對(duì)這種錯(cuò)誤的產(chǎn)生原因有很多鐘解釋,大體說(shuō)是因?yàn)榉阑饓騏DP站口權(quán)限造成了,也說(shuō)了相應(yīng)的解決辦法。其它有時(shí)候也未必。其實(shí)錯(cuò)誤的描述中就說(shuō)出了主要的原因 "系統(tǒng)未找到指定的資源" 。這種錯(cuò)誤都是出現(xiàn)在調(diào)用了 xmlhttp 組件的 Open方法,接著再用Send方法后造成的。當(dāng)open方法的的 url 參數(shù)無(wú)法訪問(wèn)時(shí),就會(huì)造成 8000005 錯(cuò)誤。并且一旦產(chǎn)生這種錯(cuò)誤,就會(huì)導(dǎo)致應(yīng)用程序終止,無(wú)法繼續(xù)操作。大多說(shuō)的程序是這樣寫的:
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
大多數(shù)的程序都是運(yùn)用xmlhttp的 Readystate 屬性判斷從服務(wù)器的返回狀態(tài)。其實(shí)這樣未必適合,很多時(shí)候用ReadyState 屬性判斷并不能真正檢測(cè)到程序流程中的錯(cuò)誤。當(dāng)遇到錯(cuò)誤的時(shí)候,仍然會(huì)致使程序終止。其實(shí)修改一下上面的代碼,完全可以實(shí)現(xiàn)跳過(guò)程序執(zhí)行過(guò)程中遇到的錯(cuò)誤,使程序繼續(xù)運(yùn)行。修改代碼如下:
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 方法產(chǎn)生錯(cuò)誤的時(shí)候,ReadyState的值或許為4,但Status的返回值就一定不是200的。呵呵,我經(jīng)過(guò)多次跟蹤ReadyState和Status的值得到以前結(jié)果??赡軙?huì)有差錯(cuò),目前我還沒(méi)有發(fā)現(xiàn)。
希望以上程序解決方案能夠幫到你!!如果朋友你有更好的解決方法,請(qǐng)一定告訴我喲。
我是以MSXML2.XMLHTTP.4.0為例說(shuō)明的程序,也適合其它版本的XMLHTTP組件。想檢查的你系統(tǒng)中已經(jīng)安裝了哪些版本的XMLHTTP組件,請(qǐng)到注冊(cè)表的 HKEY_CLASSES_ROOT 下查找。
根據(jù)以上資料,我只做了如下修改,便可以正常采集,無(wú)需進(jìn)行什么安裝組件、重起、關(guān)閉防火墻等操作:
/Admin/Item/Admin_ItemFunction.asp,行166 附近:
Http.Send()
If Http.Readystate<>4 then
改為
On Error Resume Next
Http.Send()
If Http.Status<>200 then
相關(guān)文章
ASP個(gè)人網(wǎng)站與動(dòng)網(wǎng)整合非官方方法
個(gè)人網(wǎng)站如有會(huì)員注冊(cè)模塊+動(dòng)網(wǎng)論壇的話,那網(wǎng)站要與動(dòng)網(wǎng)論壇系統(tǒng)整合,實(shí)現(xiàn)不同Web系統(tǒng)之間的用戶信息同步更新、登錄等操作就不是件容易的事了2008-06-06asp下刪除Access數(shù)詞庫(kù)中的空記錄的sql語(yǔ)句
asp下刪除Access數(shù)詞庫(kù)中的空記錄的sql語(yǔ)句...2007-04-04Asp Access 創(chuàng)建靜態(tài)文件/HTML
Asp Access 創(chuàng)建靜態(tài)文件/HTML...2006-10-10asp提示無(wú)效使用?Null:?Replace的解決方法
這篇文章主要介紹了asp提示無(wú)效使用?Null:?Replace,需要的朋友可以參考下2014-12-12asp中提示至少一個(gè)參數(shù)沒(méi)有被指定值 解決方法
在寫SQL語(yǔ)句的時(shí)候,我們經(jīng)常會(huì)調(diào)用一些參數(shù),很可能這些參數(shù)中有一個(gè)沒(méi)有被賦值2012-10-10改進(jìn)一下asp自帶的formatNumber函數(shù)
改進(jìn)一下asp自帶的formatNumber函數(shù)...2006-08-08[教程+分享]具有良好體驗(yàn)度的Web注冊(cè)系統(tǒng)
[教程+分享]具有良好體驗(yàn)度的Web注冊(cè)系統(tǒng)...2007-07-07