관리 메뉴

I LOVE EJ

ASP와 Oracle DB 사이의 연결 문제를 해결 본문

Web Development/APS

ASP와 Oracle DB 사이의 연결 문제를 해결

BeOne 2009. 1. 10. 14:22

에러 메시지
Oracle(tm) 클라이언트 및 네트워킹 구성 요소를 찾을 수 없습니다. 이 구성 요소는 Oracle Corporation이 제공하며 Oracle 버전 7.3 이상 클라이언트 소프트웨어 설치의 일부입니다.
이 구성 요소를 모두 설치해야 이 드라이버를 사용할 수 있습니다.


다음은 ASP와 Oracle 데이터베이스 간의 연결 문제를 조사할 때 일반적으로 수행하는 단계입니다.

1. 먼저 명령줄 기반 쿼리 유틸리티인 Oracle SQL Plus를 사용하여 Oracle에 연결하고 데이터를 검색할 수 있는지 확인합니다. 이 도구에서 Oracle에 연결할 수 없으면 Oracle 클라이언트 구성 요소의 설치 또는 구성에 문제가 있거나 SQL Net Easy Config 또는 Oracle Net8 Easy Config 유틸리티를 올바른 방법으로 사용하여 Oracle 서버의 별칭을 만들지 않은 것입니다. Oracle 데이터베이스 관리자와 협조하여 필요한 Oracle 구성 요소가 올바르게 설치되고 구성되어 있는지 확인해야 합니다.

2. 최근에 Internet Information Server(IIS) 컴퓨터에 Oracle 클라이언트를 설치했으면 컴퓨터를 적어도 한 번 이상 다시 부팅했는지 확인합니다. 설치를 완료한 후 Oracle 구성 요소 SQL Plus가 올바르게 작동하더라도 컴퓨터를 다시 부팅하지 않으면 IIS와의 연결이 작동하지 않을 수도 있습니다.

3. IIS 서버에 OCIW32.dll 파일의 여러 복사본이 있는지 확인합니다. 컴퓨터에는 이 .dll 파일 복사본이 Oracle 홈 폴더의 \Bin 하위 폴더에 하나만 있어야 합니다. 다른 복사본이 있으면 확장자를 .bak로 바꾼 다음 연결을 다시 테스트합니다. 추가로 발견한 .dll 파일 복사본의 이름을 변경한 후 IIS 서비스를 다시 시작할 수도 있습니다.

4. 권장되는 Oracle 구성 요소 버전을 실행하고 있는지 확인합니다. 아래의 Microsoft 기술 자료 문서에서 권장되는 버전을 확인할 수 있습니다.
193225 (http://support.microsoft.com/kb/193225/KO/) ASP와 ADO에서 Oracle에 연결하도록 IIS를 구성하는 방법
패치가 필요하면 Oracles FTP 사이트(ftp://Oracle-ftp.oracle.com (ftp://Oracle-ftp.oracle.com))에서 구할 수 있습니다. 패치를 구하여 설치하는 방법에 대한 자세한 내용은 데이터베이스 관리자나 Oracle 기술 지원부에 문의하십시오. Microsoft 기술 지원부는 이러한 Oracle 구성 요소의 구성을 지원하지 않습니다.

5. Oracle 클라이언트 구성 요소가 IIS 서버에 로컬로 설치되어 있는지 확인합니다. Oracle 구성 요소가 로컬로 설치되어 있지 않으면 다른 응용 프로그램은 제대로 작동할 수도 있지만 ASP 응용 프로그램을 사용할 때 문제가 발생합니다. Microsoft는 이들 구성 요소를 IIS 서버에 설치할 것을 권장합니다. 다른 사용자 정의 구성은 지원되지 않습니다.

6. IIS 컴퓨터에서 시스템 환경 변수와 PATH 변수를 확인합니다. Oracle 구성 요소가 있는 위치를 가리키는 원격 공유 이름이나 연결된 드라이브가 있으면 제거합니다. 변경 내용이 적용되도록 컴퓨터를 다시 부팅해야 합니다.

7. IIS 컴퓨터에서 시스템 환경 변수와 PATH 변수를 다시 확인합니다. Oracle 홈 디렉터리의 \Bin 폴더가 PATH 환경 변수에 포함되어 있는지 확인합니다. 기본 설치인 경우 이 경로는 Orant\Bin 폴더입니다. 이번에도 변경 내용이 적용되도록 컴퓨터를 다시 부팅해야 합니다.

8. Oracle용 Microsoft ODBC 드라이버와 Oracle용 Microsoft OLE DB 공급자를 사용하여 연결을 시도합니다. 아래는 이러한 각 연결을 위한 연결 문자열 구문 예제입니다.'Microsoft OLEDB Provider for Oracle
    "Provider=MSDAORA.1;Data Source=Your_TNSNames_Alias;User ID=User;Password=Password"

    'Microsoft ODBC for Oracle DSN-Less "Provider=MSDASQL;DRIVER={Microsoft ODBC for
       ORACLE};UID=User;PWD=Password;Server=Your_TNSNames_Alias"

    'Microsoft ODBC for Oracle using a DSN "DSN=Your_DSN_Name;UID=User;PWD=Password"

9. SQL*Net 인증의 설정을 해제합니다. 이를 위해 SQLNET.ora 파일을 편집합니다. 이 구성 파일은 대개 Oracle 홈 폴더의 Network\Admin 하위 폴더에 저장되어 있습니다. 이 파일에 아래와 같은 줄을 추가합니다.   
     SQLNET.AUTHENTICATION_SERVICES = (none)
     SQLNET.AUTHENTICATION = (none)
     변경을 마친 후 IIS 서비스를 다시 시작합니다. (메뉴 > 실행창 > IISRESET 실행)

10. IUSR_시스템 이름 계정 및 IWAM_시스템 이름 계정을 Oracle 홈 폴더에 추가합니다. 두 계정에 모든 권한을 부여합니다.
    
테스트 해 본 결과 BIN 폴더 아래 oci.dll에 위 두 계정을 추가하고 IISReset을 하면 된다.

이렇게 하려면 Windows 탐색기에서 Oracle 홈 폴더를 마우스 오른쪽 단추로 누릅니다. 등록 정보를 누른 다음 보안 탭을 누릅니다. 해당 계정을 추가한 다음 모든 권한(읽기 및 실행이면 됨)을 부여합니다. 컴퓨터를 다시 시작합니다.

출처 : http://support.microsoft.com/default.aspx?scid=kb;ko;kr255084

'Web Development > APS' 카테고리의 다른 글

MS-SQL+ASP 중국어 쓰기  (0) 2009.05.13
asp에서 substring 만들어 사용 전체공개  (0) 2009.04.24
ABC UPLOAD 컴포넌트  (0) 2009.01.06
[날짜함수] ASP,JSP,PHP  (0) 2009.01.06
asp mysql 한글깨짐 해결  (0) 2008.10.07