'asp'에 해당되는 글 1

  1. 2007.04.24 ASP와 오라클 연동시 에러가 날 때
오라클 ODBC 설정하기
-> 1. 시작 > 설정 > 제어판 > 관리 도구 > 데이터 원본(ODBC) 클릭
     2. 시스템 DSN 탭을 클릭
     3. 오른쪽에 있는 추가 버튼 클릭
     4. Oracle in OraHome92 선택 후 마침 버튼 클릭
     5. Data Source Name에 임의의 명칭 설정
     6. TNS Service Name에 오라클 설치 시 입력한 sid 이름 선택 후 OK 버튼 클릭
 
오라클 ODBC 설정 후 TEST를 했을 때는 잘 접속되는데 웹 상에서 띄우려고 할 때 나는 에러 잡기
 
ODBC로 접속시 에러 문구
-> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
5 (Oracle in OraHome92) 시스템 오류가 발생하여 지정한 드라이버를 로드하지 못했습니다.
 
OLEDB로 접속시 에러 문구
-> Microsoft OLE DB Provider for Oracle error '80004005'
Oracle 클라이언트 및 네트워킹 구성 요소가 없습니다. 이 구성 요소는 Oracle Corporation에서 제공하며 Oracle 버전 7.3.3 또는 그 이후 버전의 클라이언트 소프트웨어 설치의 일부입니다. 공급자가 작동하려면 이 구성 요소가 설치되어야 합니다.
 
원인
-> IIS가 오라클에 접근을 못해서 나는 에러
 
해결 방법
-> 1. 오라클 홈 디렉토리(C:\oracle\ora92)에서 마우스 오른쪽 버튼 클릭 등록정보 선택
    2. 보안 탭을 선택 후 오른쪽에 있는 추가 버튼 클릭
    3. IWAM_컴퓨터 이름 선택 후 추가 버튼 클릭 후 확인 버튼 클릭(시간이 좀 걸리지만 기다려라)
    4. 컴터를 재부팅하고 돌려 보면 연결이 잘 되는 것을 확인할 수 있을 것이다.
---------------------------------------------------------------------
원인분석및 해결방법 2
위의 방법대로 해도 안되는 경우가 있어서 계속 문제해결에 대해 좀 더 찾아봤습니다.

Microsoft OLE DB Provider for Oracle error '80004005'

Oracle 클라이언트 및 네트워킹 구성 요소를 찾을 수 없습니다. 이 구성 요소는 Oracle에서 제공하며 Oracle 버전 7.3 또는 그 이후 버전의 클라이언트 소프트웨어 설치에 포함됩니다. 공급자가 작동하려면 이 구성 요소가 설치되어야 합니다.

MS사에서 제공하는 OLE DB을 Data Provider로 지정하신듯 싶습니다....

MS사에서 제공한 OLE DB Data provider 는 oracle 10g인 웹에서 인식하지 못하는거 같습니다..

위 에러를 해석해 보면.

' .. error '80004005'' 이런 에러 구문이 뜨면 앞에 있는 객체를 인식하지 못한 에러입니다. 이런 에러는 asp 프로그래밍을 할때 종종 볼 수 있는 에러 구문입니다..

즉, 해당 객체를 생성할 수 없다는 얘기 입니다..


서문이 길었습니다..

결론은 oralce ole db 객체를 인시할 수 있도록 해줘야 한다는 얘기입니다.

asp에서 oracle db와 통신하기 위해서는 TNS Names service  를 이용하게 됩니다.

 웹서버에 있는 oci.dll을 이용하여  서버의 listener가 통신을 하게 되는데, 있는 웹서버 user가 IUSR_호스트명 입니다..

이 사용자가 oci.dll에 접근 권한을 가져야 하는데 권한이 없을 겁니다.

oci.dll은 오라클 설치디렉토리>ora버전>bin 디렉토리에 있습니다.

bin 디렉토리 전체를 IUSR_호스명에 줘도 되고 아님 ocl.dll에만 줘도 됩니다..

잘 되지 않으면, 이 사용자에 권한을 줬다가 지웠다가 해보세요..

권한을 주고나서는 ...

관리도구 > 서비스 >IIS Admin 재시작해 보시기 바랍니다...