64비트 Windows 2003에서 IIS를 구성한 후 ASP 페이지를 실행합니다. 액세스 데이터베이스에 연결하는 코드가 있으면 다음과 같이 오류 경고가 나타납니다.
ADODB.연결 오류 '800a0e7a'
공급자를 찾을 수 없습니다. 프로그램이 제대로 설치되지 않았을 수 있습니다.
/웹 사이트 콘텐츠 관리 Database.asp에 연결, 2행
이유: IIS는 64비트 모드에서 실행되며 64비트 모듈만 로드할 수 있고 32비트 모듈은 로드할 수 없습니다. 액세스 데이터베이스에 액세스하는 제트 엔진은 64비트가 아닌 32비트이므로 IIS에서 로드할 수 없습니다.
해결 방법: 32비트 제트 엔진이 호출될 수 있도록 IIS를 32비트 모드에서 실행하도록 합니다.
해결 방법: 명령줄 창에 입력
cscript C:/inetpub/adminscripts/adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 1
위 방법의 부정적인 영향: IIS가 32비트 모드에서 실행되도록 변경되었으므로 32비트 모듈만 로드할 수 있습니다. 변경 전에 IIS가 다른 64비트 모듈을 로드한 경우 변경 후에는 이 모듈이 더 이상 로드되지 않습니다. 이 모듈의 기능을 계속 사용하려면 이 모듈의 32비트 버전만 찾아서 로드하면 됩니다.
IIS를 64비트 모드에서 다시 실행하려면 다음을 입력하십시오.
cscript C:/inetpub/adminscripts/adsutil.vbs SET W3SVC/AppPools/Enable32bitAppOnWin64 0