출처 : http://blog.naver.com/PostView.nhn?blogId=8rangi&logNo=100012100496&redirect=Dlog&widgetTypeCall=true

 

 

Window상에 오라클을 설치했을 경우 관련 드라이버가 설치되었고, ODBC 및 OLE-DB 테스트에서 접속이 잘이루어 짐에도 불구하고, 다음과 같은 에러가 발생합니다.

 

현상:

Oracle 지원 ODBC 드라이버를 이용할 경우
-------------------------------------------

Microsoft OLE DB Provider for Oracle (0x80004005)
Oracle 클라이언트 및 네트워킹 구성 요소가 없습니다. 이 구성 요소는
Oracle Corporation에서 제공하며 Oracle 버전 7.3.3 또는 그 이후 버전의 클라이언트 소프트웨어 설치의 일부입니다. 공급자가 작동하려면 이 구성 요소가 설치되어야 합니다.

 

MS 지원 ODBC 드라이버를 이용할 경우
-------------------------------------------
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC 드라이버 관리자] SQL_HANDLE_ENV에서 드라이버의 SQLAllocHandle을 실패했습니다.



원인:

 

Oracle ODBC 및 OLE-DB를 통해서 오라클서버에 접속할때, IIS의 asp에서 접속을 시도하게 됩니다. 그러나, 일반적으로 oracle 폴더는 관리자만 접근가능하도록 세팅이 되어 있습니다. 물론, 디폴트상태에서는 everyone 접근이지만, 보안을 강화하는 측면에서 관리자만 세팅을 해놓습니다.

그래서, iis의 실행계정인 IWAM_(computer이름) 이 접근을 하지 못해서 에러가 나는 것입니다. 그러나, 이런경우 에러메시지를 권한관련 에러를 뿌려야 하는데, 에러 메시지를 보면 드라이버 문제라고 표시를 합니다.


해결방법:

대상 디렉토리 : ORACLE_HOME 폴더(D:\Oracle\Ora81)
권한을 줄 개정 : IWAM_(computer이름)
권한의 종류 : 읽기 및 실행권한

 

 

 

 

+ Recent posts