수집 중에 나타납니다 :
msxml3.dll 오류 '800c0005'
지정된 리소스는 시스템에서 찾을 수 없었습니다.
/admin/item/admin_itemfunction.asp, 166 행
정보를 확인했습니다.
XMLHTTP 구성 요소를 사용하여 프로그램을 작성할 때 "MSXML3.DLL ERROR '800C0005'시스템이 지정된 리소스를 찾지 못했습니다." 인터넷 에서이 오류의 원인에 대한 많은 설명이 있습니다. 일반적으로, 방화벽 또는 UDP 스테이션 포트 권한으로 인해 발생하며 해당 솔루션도 언급됩니다. 다른 사람들은 때때로 그렇지 않을 수도 있습니다. 실제로 잘못된 설명은 "시스템이 지정된 자원을 찾지 못했다"는 주된 이유를 나타냅니다. 이 오류는 XMLHTTP 구성 요소의 열린 메소드가 호출되고 보내기 메소드가 사용될 때 발생합니다. 오픈 메소드의 URL 매개 변수가 액세스 할 수없는 경우 8000005의 오류가 발생합니다. 이 오류가 발생하면 응용 프로그램이 종료되고 작업이 계속되지 않습니다. 대부분의 프로그램은 다음과 같이 작성됩니다.
functionFunctionName (pararm ...)
dimhttp
sethttp = server.createobject ( "msxml2.xmlhttp.4.0")
withhttp
. "get", httpurl, false
.보내다
끝
ifhttp.readystate <> 4then
sethttp = 아무것도
......
종료 기능
endif
최종 기능 장애
대부분의 프로그램은 XMLHTTP의 ReadyState 속성을 사용하여 서버의 리턴 상태를 결정합니다. 실제로 이것은 적합하지 않을 수 있습니다. 여러 번, ReadyState 속성을 판사로 사용하면 프로그램 흐름의 오류를 실제로 감지 할 수 없습니다. 오류가 발생하면 프로그램이 여전히 종료됩니다. 실제로 위의 코드를 수정하면 프로그램 실행 중에 발생한 오류를 완전히 건너 뛰고 프로그램을 계속 실행할 수 있습니다. 다음과 같이 코드를 수정하십시오.
functionFunctionName (pararm ...)
dimhttp
sethttp = server.createobject ( "msxml2.xmlhttp.4.0")
withhttp
. "get", httpurl, false
.보내다
끝
onerrorresumenext
ifhttp.status <> 200then
sethttp = 아무것도
......
종료 기능
endif
최종 기능 장애
보내기 메소드가 오류를 생성하면 ReadyState 값은 4 일 수 있지만 상태의 반환 값은 200이되어서는 안됩니다. 하하, ReadyState와 상태를 여러 번 따라 이전 결과를 얻었습니다. 오류가있을 수 있으며 아직 눈치 채지 못했습니다.
위의 프로그램 솔루션이 도움이되기를 바랍니다! 친구를위한 더 나은 솔루션이 있으면 알려주세요.
저는 MSXML2.xmlhttp.4.0을 예로 사용하는 프로그램이며 다른 버전의 XMLHTTP 구성 요소에도 적합합니다. 시스템에 XMLHTTP 구성 요소의 어떤 버전이 설치되었는지 확인하려면 레지스트리의 HKEY_CLASSES_ROOT로 이동하여이를 찾으십시오.
위의 정보를 기반으로, 구성 요소 설치, 재시작, 방화벽 폐쇄 등과 같은 작업없이 정상적으로 수집하기 위해 다음과 같은 수정 만 수행했습니다.
/admin/item/admin_itemfunction.asp, 166 행 근처 :
http.send ()
ifhttp.readystate <> 4then