msxml3.dll 錯誤 800c0005 解決方案
msxml3.dll 錯誤 '800c0005'終極解決辦法
搜索了一下,產(chǎn)生< msxml3.dll 錯誤 '800c0005' 資源未找到 >有以下幾種原因:
1、url不存在
2、防火墻問題
3、沒有啟用Web服務擴展的
4、msxml3.dll損壞了
5、DNS設置問題(確保能夠以域名打開網(wǎng)站,注意,這里指的是出現(xiàn)錯誤的那臺服務器)
問題2的解決辦法:關掉防火墻或在防火墻中將SYSTEM32目錄中的DLLHOST.EXE文件加為信任文件,允許進入和出去的訪問權限。
問題3的解決辦法:啟用 WebDev服務,把DNS client服務啟動
問題4的解決辦法:到其他機器上找同樣版本的文件覆蓋(要先停止iis)
問題5的解決辦法:設置正確的DNS(可以正確解析域名),今天我正是這個原因,找來找去的,資料查遍了,腦袋都要想炸了。結果靈光一閃,xmlhttp get url 使用的是域名,結果我在服務器中一試果然打不開,把我高興的跳了起來,因為是服務器基本沒有用來訪問什么域名,所以一直忽略了這塊。換了個DNS,回到客戶端刷新,阿彌托福,搞定!
錯誤排除
步驟:
1 如果在一臺服務器上或者本地運行沒有問題,說明:代碼沒有問題。
2 如果服務器上裝了不可以運行,并且產(chǎn)生該錯誤:
msxml3.dll 錯誤 '800c0005'
系統(tǒng)未找到指定的資源。
3 如果服務器上有防火墻,關掉即可。
下面是其他網(wǎng)友的補充
在運用xmlhttp組件編寫程序中,會碰到 "msxml3.dll 錯誤 '800c0005' 系統(tǒng)未找到指定的資源。" 這種錯誤,網(wǎng)上對這種錯誤的產(chǎn)生原因有很多鐘解釋,大體說是因為防火墻或UDP站口權限造成了,也說了相應的解決辦法。其它有時候也未必。其實錯誤的描述中就說出了主要的原因 "系統(tǒng)未找到指定的資源" 。這種錯誤都是出現(xiàn)在調(diào)用了 xmlhttp 組件的 Open方法,接著再用Send方法后造成的。當open方法的的 url 參數(shù)無法訪問時,就會造成 8000005 錯誤。并且一旦產(chǎn)生這種錯誤,就會導致應用程序終止,無法繼續(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 屬性判斷從服務器的返回狀態(tài)。其實這樣未必適合,很多時候用ReadyState 屬性判斷并不能真正檢測到程序流程中的錯誤。當遇到錯誤的時候,仍然會致使程序終止。其實修改一下上面的代碼,完全可以實現(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的值得到以前結果??赡軙胁铄e,目前我還沒有發(fā)現(xiàn)。
希望以上程序解決方案能夠幫到你!!如果朋友你有更好的解決方法,請一定告訴我喲。
我是以MSXML2.XMLHTTP.4.0為例說明的程序,也適合其它版本的XMLHTTP組件。想檢查的你系統(tǒng)中已經(jīng)安裝了哪些版本的XMLHTTP組件,請到注冊表的 HKEY_CLASSES_ROOT 下查找。
相關文章
實例講解ASP實現(xiàn)抓取網(wǎng)上房產(chǎn)信息
實例講解ASP實現(xiàn)抓取網(wǎng)上房產(chǎn)信息...2006-09-09