OracleLob.SetLength(Int64) 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
OracleLob 스트림의 길이를 현재 길이보다 적은 값으로 설정합니다.
public:
override void SetLength(long value);
public override void SetLength (long value);
override this.SetLength : int64 -> unit
Public Overrides Sub SetLength (value As Long)
매개 변수
예외
CLOB
또는 NCLOB
데이터 형식의 value
매개 변수에서 지정된 값이 짝수가 아닌 경우
또는
value
매개 변수에 지정된 값이 0보다 작거나 4GB보다 큰 경우
작업이 트랜잭션에 속하지 않거나, OracleLob 개체가 null이거나, 연결이 닫힌 경우
개체가 닫혔거나 삭제된 경우
Oracle 오류가 발생한 경우
설명
스트림의 OracleLob 길이를 늘리려는 시도가 실패하고 Oracle 서버에서 "Message: ORA-22926: 지정된 트리밍 길이가 현재 LOB 값의 길이보다 큼"을 반환합니다.
스트림은 쓰기 및 검색을 SetLength 모두 지원해야 합니다.
.NET Framework Data Provider for Oracle은 모든 CLOB
데이터와 NCLOB
데이터를 유니코드로 처리합니다. 따라서 및 NCLOB
데이터 형식에 CLOB
액세스할 때 항상 각 문자가 2바이트인 바이트 수를 처리합니다. 예를 들어 문자 집합이 문자당 4바이트인 Oracle 서버에 3자가 포함된 텍스트 문자열을 로 저장 NCLOB
하고 작업을 수행하는 SetLength
경우 문자열 길이를 6바이트로 지정합니다. 단, 문자열은 서버에 12바이트로 저장됩니다.
에 LOB
쓰려면 SQL SELECT 문에서 FOR UPDATE 절을 사용하여 를 검색 LOB
해야 하며 로컬 트랜잭션이 시작되어야 합니다.
참고
읽기 전용 LOB
에 대한 쓰기 작업은 성공할 수 있지만 서버에서 을 LOB
업데이트하지는 않습니다. 그러나 이 경우 의 LOB
로컬 복사본이 업데이트됩니다. 따라서 나중에 개체에 대한 OracleLob 읽기 작업은 쓰기 작업의 결과를 반환할 수 있습니다.
적용 대상
.NET