主頁 > 知識庫 > 解決采集時出現(xiàn)msxml3.dll 錯誤的方法

解決采集時出現(xiàn)msxml3.dll 錯誤的方法

熱門標(biāo)簽:Mysql連接數(shù)設(shè)置 銀行業(yè)務(wù) 服務(wù)器配置 阿里云 科大訊飛語音識別系統(tǒng) 電子圍欄 團(tuán)購網(wǎng)站 Linux服務(wù)器
采集時出現(xiàn):


msxml3.dll 錯誤 '800c0005' 

系統(tǒng)未找到指定的資源。 

/Admin/Item/Admin_ItemFunction.asp,行166 

我查了資料:

在運用xmlhttp組件編寫程序中,會碰到 "msxml3.dll 錯誤 '800c0005' 系統(tǒng)未找到指定的資源。" 這種錯誤,網(wǎng)上對這種錯誤的產(chǎn)生原因有很多鐘解釋,大體說是因為防火墻或UDP站口權(quán)限造成了,也說了相應(yīng)的解決辦法。其它有時候也未必。其實錯誤的描述中就說出了主要的原因 "系統(tǒng)未找到指定的資源" 。這種錯誤都是出現(xiàn)在調(diào)用了 xmlhttp 組件的 Open方法,接著再用Send方法后造成的。當(dāng)open方法的的 url 參數(shù)無法訪問時,就會造成 8000005 錯誤。并且一旦產(chǎn)生這種錯誤,就會導(dǎo)致應(yīng)用程序終止,無法繼續(xù)操作。大多說的程序是這樣寫的:
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ù)的程序都是運用xmlhttp的 Readystate 屬性判斷從服務(wù)器的返回狀態(tài)。其實這樣未必適合,很多時候用ReadyState 屬性判斷并不能真正檢測到程序流程中的錯誤。當(dāng)遇到錯誤的時候,仍然會致使程序終止。其實修改一下上面的代碼,完全可以實現(xiàn)跳過程序執(zhí)行過程中遇到的錯誤,使程序繼續(xù)運行。修改代碼如下:
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)生錯誤的時候,ReadyState的值或許為4,但Status的返回值就一定不是200的。呵呵,我經(jīng)過多次跟蹤ReadyState和Status的值得到以前結(jié)果??赡軙胁铄e,目前我還沒有發(fā)現(xiàn)。
希望以上程序解決方案能夠幫到你!!如果朋友你有更好的解決方法,請一定告訴我喲。
我是以MSXML2.XMLHTTP.4.0為例說明的程序,也適合其它版本的XMLHTTP組件。想檢查的你系統(tǒng)中已經(jīng)安裝了哪些版本的XMLHTTP組件,請到注冊表的 HKEY_CLASSES_ROOT 下查找。


根據(jù)以上資料,我只做了如下修改,便可以正常采集,無需進(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

標(biāo)簽:江蘇 棗莊 廣元 萍鄉(xiāng) 蚌埠 衢州 衡水 大理

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《解決采集時出現(xiàn)msxml3.dll 錯誤的方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266