다음을 통해 공유


JET_TABLECREATE3 구조체

적용 대상: Windows | Windows Server

JET_TABLECREATE3 구조에는 ESE(Extensible Storage Engine) 데이터베이스에 열 및 인덱스로 채워진 테이블을 만드는 데 필요한 정보와 콜백 함수를 지정하는 정보가 포함되어 있습니다. JET_TABLECREATE3 구조체는 JetCreateTableColumnIndex3 함수에서 사용됩니다.

JET_TABLECREATE3 구조는 Windows 7 운영 체제에 도입되었습니다.

typedef struct tagJET_TABLECREATE3 {
  unsigned long cbStruct;
  tchar* szTableName;
  tchar* szTemplateTableName;
  unsigned long ulPages;
  unsigned long ulDensity;
  JET_COLUMNCREATE* rgcolumncreate;
  unsigned long cColumns;
    JET_INDEXCREATE2* rgindexcreate;
  unsigned long cIndexes;
  tchar* szCallback;
  JET_CBTYP cbtyp;
  JET_GRBIT grbit;
  JET_TABLEID tableid;
  un  JET_GRBIT grbit;
  JET_SPACEHINTS* pSeqSpacehints;
  JET_SPACEHINTS* pLVSpacehints;
  unsigned long cbSeparateLV;
  JET_TABLEID tableid;
  unsigned long cCreated;
} JET_TABLECREATE3;>

멤버

cbStruct

이 구조체의 크기(향후 확장용)(바이트)입니다. sizeof( JET_TABLECREATE3 )(바이트)로 설정해야 합니다.

szTableName

만들 테이블의 이름입니다.

이름은 다음 조건을 충족해야 합니다.

  • 종료 null을 포함하지 않고 JET_cbNameMost 미만의 값이 있어야 합니다.

  • 문자 집합은 0~9, A~Z, a-z 및 느낌표(!), 쉼표(,), 여는 대괄호([) 및 닫는 대괄호(])를 제외한 다른 모든 문장 부호로 구성되어야 합니다. 즉, ASCII 문자 0x20, 0x2d 통해 0x22, 0x7f 통해 0x5a, 0x5c 및 0x5d 통해 0x2f.

  • 공백으로 시작해서는 안 됩니다.

  • 공백이 아닌 문자로 구성되어야 합니다.

szTemplateTableName

기본 DDL(데이터 정의 언어)을 상속할 기존 테이블의 이름입니다. 템플릿 테이블을 사용하면 동일한 열과 인덱스를 사용하여 많은 테이블을 쉽게 만들 수 있습니다.

ulPages

테이블에 할당할 데이터베이스 페이지의 초기 수입니다. 여러 행이 이 테이블에 삽입되는 경우 1보다 큰 숫자를 지정하면 조각화를 줄일 수 있습니다.

ulDensity

테이블 밀도(백분율 포인트)입니다. 숫자는 0이거나 20~100 범위여야 합니다. 0을 전달하면 기본값을 사용해야 합니다. 기본값은 80입니다.

rgcolumncreate

각각 새 테이블에서 만들 열에 해당하는 JET_COLUMNCREATE 구조체의 배열입니다.

cColumns

rgcolumncreate 매개 변수의 JET_COLUMNCREATE 요소 수입니다.

rgindexcreate

각각 새 테이블에서 만들 인덱스에 해당하는 JET_INDEXCREATE2 구조체의 배열입니다.

cIndexes

rgindexcreate 매개 변수의 JET_INDEXCREATE2 요소 수입니다.

szCallback

특정 이벤트 중에 호출되는 함수입니다. cbtyp 은 콜백 함수가 호출되는 시기를 결정합니다.

szCallback 형식은 "module!function"이어야 합니다. 예를 들어 "alpha!beta"는 "alpha"라는 모듈의 베타 함수를 나타냅니다.

함수의 프로토타입은 JET_CALLBACK 콜백 함수와 일치해야 합니다.

cbtyp

szCallback으로 지정된 콜백 함수의 형식을 설명합니다. 자세한 내용은 JET_CBTYP 참조하세요.

이 비트 필드는 다음 표에 나열된 하나 이상의 비트 값으로 구성됩니다.

의미

JET_cbtypFinalize

마무리할 수 있는 열이 0으로 갔을 때 콜백 함수가 호출됩니다.

JET_cbtypBeforeInsert

콜백 함수는 레코드 삽입 전에 호출됩니다.

JET_cbtypAfterInsert

데이터베이스 엔진에서 레코드 삽입을 완료한 후 콜백 함수가 호출됩니다.

JET_cbtypBeforeReplace

콜백 함수는 레코드를 수정하기 전에 호출됩니다.

JET_cbtypAfterReplace

콜백 함수는 레코드 수정을 완료한 후 호출됩니다.

JET_cbtypBeforeDelete

콜백 함수는 레코드를 삭제하기 전에 호출됩니다.

JET_cbtypAfterDelete

레코드가 삭제된 후 콜백 함수가 호출됩니다.

JET_cbtypUserDefinedDefaultValue

콜백 함수는 사용자 정의 기본값을 계산하기 위해 호출됩니다.

JET_cbtypFreeCursorLS

커서와 연결된 로컬 스토리지를 해제해야 하는 경우 콜백 함수가 호출됩니다.

JET_cbtypFreeTableLS

테이블과 연결된 로컬 스토리지를 해제해야 하는 경우 콜백 함수가 호출됩니다.

grbit

다음 표에 나열된 호출 옵션 값이 0개 이상 포함된 비트 그룹입니다.

의미

JET_bitTableCreateFixedDDL

테이블에서 DDL 작업(예: 열 추가 또는 제거)을 방지합니다.

JET_bitTableCreateTemplateTable

테이블이 템플릿 테이블이 되도록 합니다. 그런 다음 새 테이블은 이 테이블의 이름을 템플릿 테이블로 지정할 수 있습니다. JET_bitTableCreateTemplateTable 설정하면 JET_bitTableCreateFixedDDL 의미합니다.

JET_bitTableCreateNoFixedVarColumnsInDerivedTables

JET_bitTableCreateTemplateTable 함께 사용해야 합니다. 더 이상 사용되지 않습니다. 사용하지 마십시오.

pSeqSpacehints

기본 순차 인 덱스 JET_SPACEHINTS 구조체에 대한 포인터입니다.

pSeqSpacehints 는 Windows 7에서 도입되었습니다.

pLVSpacehints

구분된 긴 값 트리의 JET_SPACEHINTS 구조체에 대한 포인터입니다.

pLVSpacehints 는 Windows 7에서 도입되었습니다.

cbSeparateLV

기본 레코드와 내장 LV를 구분하는 크기입니다. 구분된 LV 트리에 대한 모든 long-value c 구조체입니다. 자세한 내용은 JET_SPACEHINTS ng-value를 참조하세요. 레코드가 너무 커지면 이 값보다 작은 긴 값 열을 구분할 수 있습니다.

cbSeparateLV 는 Windows 7에서 도입되었습니다.

tableid

API 호출이 성공하는 경우 새 테이블의 JET_TABLEID 포함하는 출력 필드입니다. API 호출이 실패하면 값이 정의되지 않습니다. 이 테이블은 단독으로 열립니다.

cCreated

API 호출이 성공하면 생성되는 개체 수를 포함하는 출력 필드입니다. API 호출이 실패하면 값이 정의되지 않습니다.

만들어진 개체의 수는 성공적으로 만들어진 열, 테이블 및 인덱스의 합계와 같습니다.

요구 사항

요구 사항

클라이언트

Windows Vista 또는 Windows XP가 필요합니다.

서버

Windows Server 2008 또는 Windows Server 2003이 필요합니다.

머리글

Esent.h에서 선언되었습니다.

유니코드

JET_TABLECREATE3_W(유니코드) 및 ANSI(JET_TABLECREATE3_A)로 구현됩니다.

추가 정보

JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2