다음을 통해 공유


.NET Framework Data Provider for Oracle에 대한 시스템 요구 사항

.NET Framework Data Provider for Oracle에는 MDAC(Microsoft Data Access Components) 버전 2.6 이상이 필요합니다. MDAC 2.8 SP1을 사용하는 것이 좋습니다.

Oracle 8i 릴리스 3(8.1.7) 클라이언트 이상이 설치되어 있어야 합니다.

ORACLE 9i 이전 버전의 Oracle 클라이언트 소프트웨어는 UTF16이 Oracle 9i의 새로운 기능이므로 UTF16 데이터베이스에 액세스할 수 없습니다. 이 기능을 사용하려면 클라이언트 소프트웨어를 Oracle 9i 이상으로 업그레이드해야 합니다.

Oracle 및 유니코드 데이터용 데이터 공급자 작업

다음은 .NET Framework Data Provider for Oracle 및 Oracle 클라이언트 라이브러리를 사용할 때 고려해야 하는 유니코드 관련 문제 목록입니다. 자세한 내용은 Oracle 설명서를 참조하세요.

연결 문자열 특성에서 유니코드 값 설정

Oracle로 작업할 때 연결 문자열 특성을 사용할 수 있습니다.

Unicode=True

Oracle 클라이언트 라이브러리를 UTF-16 모드로 초기화합니다. 이로 인해 Oracle 클라이언트 라이브러리는 멀티 바이트 문자열 대신 UTF-16(UCS-2와 매우 유사)을 허용합니다. 이를 통해 Oracle용 데이터 공급자는 추가 번역 작업 없이 항상 Oracle 코드 페이지로 작업할 수 있습니다. 이 구성은 Oracle 9i 클라이언트를 사용하여 AL16UTF16 대체 문자 집합과 Oracle 9i 데이터베이스와 통신하는 경우에만 작동합니다. Oracle 9i 클라이언트가 Oracle 9i 서버와 통신하는 경우 유니코드 CommandText 값을 Oracle9i 서버에서 사용하는 적절한 멀티 바이트 문자 집합으로 변환하려면 추가 리소스가 필요합니다. 연결 문자열에 추가하여 Unicode=True 안전한 구성이 있음을 알고 있는 경우 이를 방지할 수 있습니다.

Oracle 클라이언트 및 Oracle Server의 혼합 버전

서버의 국가별 문자 집합이 AL16UTF16(Oracle 9i의 기본 설정)로 지정된 경우 Oracle 8i 클라이언트는 Oracle 9i 데이터베이스의 NCHAR, NVARCHAR2 또는 NCLOB 데이터에 액세스할 수 없습니다. ORACLE 9i까지 UTF-16 문자 집합에 대한 지원이 도입되지 않았기 때문에 Oracle 8i 클라이언트는 읽을 수 없습니다.

UTF-8 데이터 작업

대체 문자 집합을 설정하려면 레지스트리 키 HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMEID\NLS_LANG UTF8로 설정합니다. 자세한 내용은 플랫폼의 Oracle 설치 정보를 참조하세요. 기본 설정은 Oracle 클라이언트 소프트웨어를 설치하는 언어의 기본 문자 집합입니다. 연결하려는 데이터베이스의 국가별 언어 문자 집합과 일치하도록 언어를 설정하지 않으면 매개 변수 및 열 바인딩이 국가 문자 집합이 아닌 주 데이터베이스 문자 집합의 데이터를 보내거나 받습니다.

OracleLob은 전체 문자만 업데이트할 수 있습니다.

유용성을 위해 개체는 OracleLob .NET Framework Stream 클래스에서 상속되며 ReadByteWriteByte 메서드를 제공합니다. 또한 Oracle LOB 개체의 섹션에서 작동하는 CopyToErase와 같은 메서드를 구현합니다. 반면 Oracle 클라이언트 소프트웨어는 문자 LOB(CLOBNCLOB)를 사용할 수 있는 다양한 API를 제공합니다. 그러나 이러한 API는 전체 문자에서만 작동합니다. 이러한 차이로 인해 Oracle용 데이터 공급자는 읽기ReadByte 가 UTF-16 데이터를 바이트 단위로 사용할 수 있도록 지원합니다. 그러나 OracleLob 개체의 다른 메서드는 전체 문자 작업만 허용합니다.

참고하십시오