JetSetDatabaseSize 함수
적용 대상: Windows | Windows Server
JetSetDatabaseSize 함수
JetSetDatabaseSize 함수는 미개봉 데이터베이스 파일의 크기를 설정합니다.
JET_ERR JET_API JetSetDatabaseSize(
__in JET_SESID sesid,
__in JET_PCSTR szDatabaseName,
__in unsigned long cpg,
__out unsigned long* pcpgReal
);
매개 변수
sesid
API 호출에 사용할 데이터베이스 세션 컨텍스트를 식별합니다.
szDatabaseName
크기를 변경할 데이터베이스 파일의 이름을 식별합니다.
포장 소비재
원하는 데이터베이스 크기를 페이지 단위로 지정합니다.
pcpgReal
API 호출 후 데이터베이스 크기(페이지)를 수신하는 숫자에 대한 포인터입니다. API 호출이 실패하면 pcpgReal 의 콘텐츠가 정의되지 않습니다.
반환 값
이 함수는 다음 반환 코드 중 하나를 사용하여 JET_ERR 데이터 형식을 반환합니다. 가능한 ESE 오류에 대한 자세한 내용은 확장 가능한 스토리지 엔진 오류 및 오류 처리 매개 변수를 참조하세요.
반환 코드 |
설명 |
---|---|
JET_errSuccess |
작업이 성공적으로 완료되었습니다. |
JET_errDatabaseInconsistent |
JET_errDatabaseInconsistent 및 JET_errDatabaseDirtyShutdown 같은 숫자 값입니다. 크기를 조정할 데이터베이스는 일관된 상태라고 하는 클린 종료 중이어야 합니다. 일관되지 않은 데이터베이스는 손상되지 않았지만 로그 파일을 재생해야 합니다. |
JET_errDatabaseInvalidPath |
szDatabaseName 은 NULL이 아닌 빈 문자열이 아니어야 합니다. |
JET_errDiskFull |
볼륨에 사용 가능한 공간이 부족하여 증가 작업을 수행할 수 없습니다. JetSetDatabaseSize 는 다음을 포함하지만 이에 국한되지 않는 많은 파일 관련 오류를 반환할 수도 있습니다.
|
JET_errInvalidParameter |
이 오류가 반환될 수 있는 이유 중 하나는 cpg 가 최소 데이터베이스 크기를 충족하는 경우입니다. 현재 최소 데이터베이스 크기는 256페이지입니다. |
JET_errOutOfMemory |
시스템이 메모리 리소스가 부족합니다. |
설명
대량의 데이터를 삽입하기 전에 JetSetDatabaseSize 가 호출되면 데이터베이스 파일은 하나의 작업에서 확장됩니다. 이렇게 하면 데이터베이스 파일이 파일 시스템 수준에서 조각화될 가능성이 줄어들고 데이터베이스 파일을 늘려야 하는 횟수도 줄어듭니다. 데이터베이스 파일을 한 번 증가시키는 것은 여러 번 증가하는 것보다 더 빠를 수 있습니다.
파일 증가만 현재 지원됩니다. 파일을 축소하려면 esentutl.exe 유틸리티 프로그램의 조각 모음 기능을 사용합니다.
cpg가 데이터베이스의 현재 크기보다 작으면 작업이 무시됩니다. cpg가 최소 데이터베이스 크기(현재 256페이지)보다 작으면 JET_errInvalidParameter 반환됩니다.
열린 데이터베이스의 크기를 설정하려면 JetGrowDatabase를 참조하세요.
파일 크기가 pcpgReal에 반환된 페이지 수와 일치하지 않을 수 있습니다. pcpgReal에 계산되지 않을 수 있는 두 개의 추가 예약 페이지가 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
클라이언트 |
Windows Vista, Windows XP 또는 Windows 2000 Professional이 필요합니다. |
서버 |
Windows Server 2008, Windows Server 2003 또는 Windows 2000 Server가 필요합니다. |
머리글 |
Esent.h에서 선언되었습니다. |
라이브러리 |
ESENT.lib를 사용합니다. |
DLL |
ESENT.dll 필요합니다. |
유니코드 |
JetSetDatabaseSizeW(유니코드) 및 JetSetDatabaseSizeA(ANSI)로 구현됩니다. |
참고 항목
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetGrowDatabase