다음을 통해 공유


CacheSize 속성(ADO)

메모리에 로컬로 캐시된 Recordset 개체의 레코드 수를 나타냅니다.

설정 및 반환 값

0보다 커야 하는 Long 값을 설정하거나 반환합니다. 기본값은 1입니다.

설명

CacheSize 속성을 사용하여 공급자에서 로컬 메모리로 한 번에 검색할 레코드 수를 제어합니다. 예를 들어 CacheSize가 10이면 공급자는 먼저 Recordset 개체를 연 다음, 처음 10개의 레코드를 로컬 메모리로 검색합니다. Recordset 개체를 통과하는 동안 공급자가 로컬 메모리 버퍼에서 데이터를 반환합니다. 캐시의 마지막 레코드를 지나면 공급자가 데이터 원본에서 캐시로 다음 10개 레코드를 검색합니다.

참고

CacheSizeRecordset 개체의 Properties 컬렉션에 있는 Maximum Open Rows 공급자별 속성을 기반으로 합니다. CacheSizeMaximum Open Rows보다 큰 값으로 설정할 수 없습니다. 공급자가 열 수 있는 행 수를 수정하려면 Maximum Open Rows를 설정합니다.

CacheSize의 값은 Recordset 개체의 수명 동안 조정할 수 있지만, 이 값을 변경하면 데이터 원본에서 후속 검색 후 캐시의 레코드 수에만 영향을 줍니다. 이 속성 값만 변경하면 캐시의 현재 콘텐츠는 변경되지 않습니다.

검색할 레코드가 CacheSize에서 지정한 수보다 적으면 공급자가 나머지 레코드를 반환하며 오류가 발생하지 않습니다.

CacheSize 설정 0은 허용되지 않으며 오류를 반환합니다.

캐시에서 검색된 레코드는 다른 사용자가 원본 데이터에 수행한 동시 변경 내용을 반영하지 않습니다. 캐시된 모든 데이터를 강제로 업데이트하려면 Resync 메서드를 사용합니다.

CacheSize가 1보다 큰 값으로 설정된 경우 레코드가 검색된 후 삭제가 발생하면 탐색 메서드(Move, MoveFirst, MoveLast, MoveNext 및 MovePrevious)는 삭제된 레코드로 이동할 수 있습니다. 초기 페치 후에는 삭제된 행에서 데이터 값에 액세스하려고 시도할 때까지 후속 삭제가 데이터 캐시에 반영되지 않습니다. 그러나 CacheSize를 1로 설정하면 삭제된 행을 페치할 수 없으므로 이 문제가 제거됩니다.

적용 대상

레코드 집합 개체(ADO)

참고 항목

CacheSize 속성 예제(VB)
CacheSize 속성 예제(VC++)
CacheSize 속성 예제(JScript)