반응형
Q 에러메시지 "error 'ASP 0115' 예기치 않은 오류, 외부 개체에 트랩 오류가 발생했습니다. 스크립트를 계속 실행할 수 없습니다."에 대해서.
A 이 에러메시지는 asp.dll 내에서 access violation 오류가 발생했을 때 나타나는 메시지입니다. 그 원인에는 여러 가지가 있을 수 있기 때문에 정확히 무엇 때문이다라고는 할 수 없지만 가능한 몇 가지 원인에는 다음과 같은 것들이 있습니다. (MSDN 참조)
1)
[원인]
IIS 3.0 서버에 ADO 2.0을 인스톨해서 쓰는 경우 두 제품의 proxy를 핸들링하는 방법의 차이에 따른 내부적인 충돌로 인해 발생할 수 있습니다. 또한 IIS 3.0과 동일한 방식으로 자동화 개체를 wrapping하는 어떤 컴포넌트 제품에서도 발생할 수 있습니다.
[해결방법]
- Microsoft Data Access Components 2.0 Service Pack 1을 다운받아 설치하면 됩니다.
- Microsoft Data Access Components 2.0 Service Pack 1은 Windows NT 4 Service Pack 4에 포함되어 있으므로 Service Pack 4를 인스톨해도 됩니다.
2)
[원인]
Microsoft Hotfix의 부정확한 업그레이드로 인해 IIS와 ASP의 최근 버전을 설치한 이후에도 계속해서 트랩오류가 발생하는 경우도 있을 수 있습니다.
[해결방법]
ASP.dll의 최근 버전을 구한 다음, 먼저 구버전의 ASP.dll은 등록해제하고 새 버전의 ASP.dll로 교체한 후 windows registry에 새롭게 등록하면 됩니다. (ASP.dll의 위치는 C:\WINNT\system32\inetsvr\asp.dll 이고, ASP.dll의 버전은 ASP.dll 파일의 등록정보를 통해서 확인할 수 있습니다.)
IIS 관련 서비스 멈춤
Regsvr32.exe /u ASP.dll - 구버전 ASP.dll의 등록해제
Regsvr32.exe ASP.dll - 새롭게 구한 ASP.dll의 최근버전을 등록
IIS 관련 서비스 재시작
3)
[원인]
ADO Recordset의 특정 필드값을 얻고자 할 때, <% = RS.fields(1) %>과 같이 코딩하지 않고 <% RS.fields(1) %>과 같이 '=' 기호를 뺀 상태로 코딩한 경우도 트랩오류를 발생시킬 수 있습니다.
[해결방법]
- '=' 기호를 넣어서 코딩하면 됩니다.
*)
원인이 분명치 않을 때 기본적으로 할 수 있는 방법으로는 다음과 같은 것들이 있습니다.
해당 ASP 웹애플리케이션의 등록정보에서, Windows NT 4.0의 경우는 가상디렉터리 탭에서 "구분된 메모리 공간에서 실행(격리된 프로세스)"을, Windows 2000의 경우는 디렉터리 탭의 응용프로그램 보호 항목에서 "높음(격리됨)"을 선택해 주는 것이 좋습니다. 이렇게 하면 해당 ASP 웹애플리케이션에 치명적인 문제가 발생한 경우에도 ASP자체에는 영향을 미치지 않게 됩니다.
Windows NT 4.0의 경우는 최소한 서비스팩 4 이상을 설치하는 것이 좋습니다. 트랩오류가 계속 발생하면 IIS가 4.0 이상인지 ASP.dll이 최근 버전인지 확인해 볼 필요가 있습니다.
*)
다음은 ASP 0115 외부개체 트랩오류와 관련된 MSDN 기사 및 Bug리스트입니다.
- BUG: ASP Error 0115 When Connecting to Sybase/Oracle Database
( http://support.microsoft.com/support/kb/articles/Q170/0/12.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- FIX: ASP 0115 Error Occurs With the Session Object Under IIS 3
( http://support.microsoft.com/support/kb/articles/Q177/0/36.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- PRB: Random ASP 0115 Errors when Submitting Form
( http://support.microsoft.com/support/kb/articles/Q173/7/41.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- PRB: ASP 0115 a Trappable Error Has Occurred
( http://support.microsoft.com/support/kb/articles/Q194/1/90.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- PRB: ASP/ADO Coding Error Produces ASP 0115 Error
( http://support.microsoft.com/support/kb/articles/Q203/5/73.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- PRB: CDO Application in an ASP Page Causes ASP 0115 Error
( http://support.microsoft.com/support/kb/articles/Q195/3/79.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- PRB: VB Component Not Marked Apartment Produces ASP 0115 Error
( http://support.microsoft.com/support/kb/articles/Q191/9/79.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
A 이 에러메시지는 asp.dll 내에서 access violation 오류가 발생했을 때 나타나는 메시지입니다. 그 원인에는 여러 가지가 있을 수 있기 때문에 정확히 무엇 때문이다라고는 할 수 없지만 가능한 몇 가지 원인에는 다음과 같은 것들이 있습니다. (MSDN 참조)
1)
[원인]
IIS 3.0 서버에 ADO 2.0을 인스톨해서 쓰는 경우 두 제품의 proxy를 핸들링하는 방법의 차이에 따른 내부적인 충돌로 인해 발생할 수 있습니다. 또한 IIS 3.0과 동일한 방식으로 자동화 개체를 wrapping하는 어떤 컴포넌트 제품에서도 발생할 수 있습니다.
[해결방법]
- Microsoft Data Access Components 2.0 Service Pack 1을 다운받아 설치하면 됩니다.
- Microsoft Data Access Components 2.0 Service Pack 1은 Windows NT 4 Service Pack 4에 포함되어 있으므로 Service Pack 4를 인스톨해도 됩니다.
2)
[원인]
Microsoft Hotfix의 부정확한 업그레이드로 인해 IIS와 ASP의 최근 버전을 설치한 이후에도 계속해서 트랩오류가 발생하는 경우도 있을 수 있습니다.
[해결방법]
ASP.dll의 최근 버전을 구한 다음, 먼저 구버전의 ASP.dll은 등록해제하고 새 버전의 ASP.dll로 교체한 후 windows registry에 새롭게 등록하면 됩니다. (ASP.dll의 위치는 C:\WINNT\system32\inetsvr\asp.dll 이고, ASP.dll의 버전은 ASP.dll 파일의 등록정보를 통해서 확인할 수 있습니다.)
IIS 관련 서비스 멈춤
Regsvr32.exe /u ASP.dll - 구버전 ASP.dll의 등록해제
Regsvr32.exe ASP.dll - 새롭게 구한 ASP.dll의 최근버전을 등록
IIS 관련 서비스 재시작
3)
[원인]
ADO Recordset의 특정 필드값을 얻고자 할 때, <% = RS.fields(1) %>과 같이 코딩하지 않고 <% RS.fields(1) %>과 같이 '=' 기호를 뺀 상태로 코딩한 경우도 트랩오류를 발생시킬 수 있습니다.
[해결방법]
- '=' 기호를 넣어서 코딩하면 됩니다.
*)
원인이 분명치 않을 때 기본적으로 할 수 있는 방법으로는 다음과 같은 것들이 있습니다.
해당 ASP 웹애플리케이션의 등록정보에서, Windows NT 4.0의 경우는 가상디렉터리 탭에서 "구분된 메모리 공간에서 실행(격리된 프로세스)"을, Windows 2000의 경우는 디렉터리 탭의 응용프로그램 보호 항목에서 "높음(격리됨)"을 선택해 주는 것이 좋습니다. 이렇게 하면 해당 ASP 웹애플리케이션에 치명적인 문제가 발생한 경우에도 ASP자체에는 영향을 미치지 않게 됩니다.
Windows NT 4.0의 경우는 최소한 서비스팩 4 이상을 설치하는 것이 좋습니다. 트랩오류가 계속 발생하면 IIS가 4.0 이상인지 ASP.dll이 최근 버전인지 확인해 볼 필요가 있습니다.
*)
다음은 ASP 0115 외부개체 트랩오류와 관련된 MSDN 기사 및 Bug리스트입니다.
- BUG: ASP Error 0115 When Connecting to Sybase/Oracle Database
( http://support.microsoft.com/support/kb/articles/Q170/0/12.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- FIX: ASP 0115 Error Occurs With the Session Object Under IIS 3
( http://support.microsoft.com/support/kb/articles/Q177/0/36.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- PRB: Random ASP 0115 Errors when Submitting Form
( http://support.microsoft.com/support/kb/articles/Q173/7/41.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- PRB: ASP 0115 a Trappable Error Has Occurred
( http://support.microsoft.com/support/kb/articles/Q194/1/90.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- PRB: ASP/ADO Coding Error Produces ASP 0115 Error
( http://support.microsoft.com/support/kb/articles/Q203/5/73.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- PRB: CDO Application in an ASP Page Causes ASP 0115 Error
( http://support.microsoft.com/support/kb/articles/Q195/3/79.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
- PRB: VB Component Not Marked Apartment Produces ASP 0115 Error
( http://support.microsoft.com/support/kb/articles/Q191/9/79.ASP?LN=EN-US&SD=SO&FR=1&qry=%28kbASP*%29%20and%20%28not%20kbfile%20and%20not%20kbhowto%20and%20not%20kbinfo% )
반응형
'Know > ASP' 카테고리의 다른 글
빵집 (0) | 2009.07.24 |
---|---|
Adding .FLV MIME Type in IIS (0) | 2009.07.09 |
[UTIL] robocopy.exe (0) | 2007.07.26 |