ASP.NET을 설치한 후 Oracle 데이터베이스에 액세스할 수 없는 문제를 해결하십시오.
ASP.NET 및 Oracle9i 클라이언트를 설치한 후 System.Data.OracleClient를 사용하여 액세스할 때 다음 메시지를 받았습니다
.Oracle 데이터베이스
System.Data.OracleClient에는 Oracle 클라이언트 소프트웨어 버전 8.1.7 이상이 필요합니다.
그 이유는
Windows의 NTFS 파티션에 설치된 Oracle 9i 릴리스 2 클라이언트의 보안 인증 설정이 잘못되어 로컬 인증이 발생하기 때문입니다. 사용자는 ORACLE_HOME 디렉터리의 내용을 볼 수 없습니다. 이로 인해 ASP.NET이 System.Data.OracleClient를 사용하여 인증된 사용자 권한으로 Oracle 데이터베이스에 연결할 때 위의 오류가 보고됩니다.
해결 방법
위 문제를 해결하려면 Oracle 홈 디렉토리에 액세스할 수 있는 권한을 Authenticated Users 그룹에 추가하여 관리자 권한으로 Windows에 로그인
하면 됩니다
.
Window 리소스 브라우저를 시작하고 C:Oracleora92와 같은 ORACLE_HOME 디렉터리를 찾습니다.
팝업 메뉴를 마우스 오른쪽 버튼으로 클릭하고 디렉터리의 공유 및 보안을 선택합니다(Win2000에서 속성 클릭).
"보안" 탭을 클릭하고 그룹 및 사용자 이름 목록에서 "인증된 사용자" 항목을 클릭합니다.
사용자의 권한 목록에서 "읽기 및 실행" 확인란을 선택 취소하고 "읽기 및 실행" 확인란을 다시 클릭하여 "고급" 버튼을 클릭하고 권한 항목을 선택합니다. "인증된 사용자"가 있는지 확인합니다. "이 폴더, 하위 폴더 및 파일"에 적용되는 "읽기 및 실행" 권한. 그렇지 않은 경우 해당 항목을 두 번 클릭하고 "적용 대상" "이 폴더 및 하위 폴더 및 파일" 권한을 확인하세요. 중요하므로 꼭 확인하셔야 합니다.
모든 변경 사항을 적용하려면 "확인" 버튼을 클릭하여 다시 시작하세요.
================================= == =============
'OraOLEDB.Oracle.1' 공급자가 로컬 컴퓨터에 등록되어 있지 않습니다. 이 상황에는 세 가지 이유가 있습니다.
1. Oracle이 설치된 컴퓨터가 NTFS입니까? 그렇다면 Ora81 아래 BIN의 모든 권한을 모든 사용자에게 해제하십시오.
(그렇지 않으면 B/S 구조상 디렉터리에 접근할 수 있는 권한이 없기 때문에 이 오류가 보고됩니다.)
2. 데이터베이스 서버가 Oracle816인 경우. 서버 시스템의 Ora81networkADMIN에서 sqlnet.ora 파일을 찾아 다음을 변경합니다.
SQLNET.AUTHENTICATION_SERVICES= (NTS)가 다음으로 변경되었습니다.
SQLNET.AUTHENTICATION_SERVICES= (없음)
(이로 인해 일부 컴퓨터에서는 OracleClient를 사용할 때 한 번 발생한 드라이버 초기화 실패 오류가 보고됩니다.)
3. 위의 방법으로 문제가 해결되지 않는 경우. 레지스트리 등록이 실제로 손실되었는지 여부를 고려할 수 있습니다. (가능성은 상대적으로 적으며 창문은 여전히 상대적으로 안전합니다)
regsvr32 ..ORACLE_HOMEbinOraOLEDB.dll
그래도 작동하지 않으면 클라이언트를 다시 설치해 보세요.