JET_TABLECREATE2 구조체

적용 대상: Windows | Windows Server

JET_TABLECREATE2 구조체

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

Windows XP:JET_TABLECREATE2 구조는 Windows XP에 도입되었습니다.

    typedef struct tagJET_TABLECREATE2 {
      unsigned long cbStruct;
      tchar* szTableName;
      tchar* szTemplateTableName;
      unsigned long ulPages;
      unsigned long ulDensity;
      JET_COLUMNCREATE* rgcolumncreate;
      unsigned long cColumns;
      JET_INDEXCREATE* rgindexcreate;
      unsigned long cIndexes;
      tchar* szCallback;
      JET_CBTYP cbtyp;
      JET_GRBIT grbit;
      JET_TABLEID tableid;
      unsigned long cCreated;
    } JET_TABLECREATE2;

멤버

cbStruct

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

szTableName

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

이름은 다음 조건을 충족하는 데 사용해야 합니다.

  • 종료 NULL을 포함하지 않고 JET_cbNameMost 미만의 값을 갖습니다.
  • 문자 집합으로 구성됩니다. 0부터 9까지, A에서 Z까지, 를 통해 z, 느낌표(!), 쉼표(,), 여는 대괄호([) 및 닫는 대괄호(])를 제외한 모든 문장 부호, 즉 ASCII 문자 0x20, 0x2d 0x22, 0x5a 통해 0x2f, 0x5c 및 0x7f 통해 0x5d.
  • 공백으로 시작하지 않습니다.
  • 공백이 아닌 문자로 구성됩니다.

szTemplateTableName

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

ulPages

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

ulDensity

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

rgcolumncreate

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

cColumns

rgcolumncreateJET_COLUMNCREATE 요소 수입니다.

rgindexcreate

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

cIndexes

rgindexcreateJET_INDEXCREATE 요소 수입니다.

szCallback

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

szCallback 형식은 "module!function"이어야 합니다. 예를 들어 "alpha!beta"는 "alpha"라는 모듈의 베타 함수를 나타냅니다. 함수의 프로토타입은 JET_CALLBACK 일치해야 합니다. 자세한 내용은 JET_CALLBACK 참조하세요.

cbtyp

szCallback으로 지정된 콜백 함수의 형식을 설명합니다. 자세한 내용은 JET_CBTYP 참조하세요. 이 비트 필드는 다음 비트 중 하나 이상으로 구성됩니다.

의미

JET_cbtypFinalize

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

JET_cbtypBeforeInsert

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

JET_cbtypAfterInsert

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

JET_cbtypBeforeReplace

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

JET_cbtypAfterReplace

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

JET_cbtypBeforeDelete

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

JET_cbtypAfterDelete

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

JET_cbtypUserDefinedDefaultValue

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

JET_cbtypOnlineDefragCompleted

JetDefragment2에 대한 호출이 완료된 후 콜백 함수가 호출됩니다.

JET_cbtypFreeCursorLS

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

JET_cbtypFreeTableLS

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

grbit

다음 값 중 0개 이상을 포함하는 이 호출에 대한 옵션을 포함하는 비트 그룹입니다.

의미

JET_bitTableCreateFixedDDL

JET_bitTableCreateFixedDDL 설정하면 테이블에서 DDL 작업(예: 열 추가 또는 제거)이 방지됩니다.

JET_bitTableCreateTemplateTable

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

JET_bitTableCreateNoFixedVarColumnsInDerivedTables

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

tableid

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

cCreated

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

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

요구 사항

요구 사항

클라이언트

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

서버

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

머리글

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

유니코드

JET_TABLECREATE2_W(유니코드) 및 ANSI(JET_TABLECREATE2_A)로 구현됩니다.

참고 항목

JET_CALLBACK
JET_CBTYP
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_TABLEID
JetCreateTable
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JetDefragment2