Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: Windows | Windows Server
Fungsi JetCreateTableColumnIndex3
Fungsi JetCreateTableColumnIndex3 membuat tabel dalam database ESE dengan sekumpulan indeks awal dan sekumpulan kolom awal dari array struktur JET_TABLECREATE3 . Struktur JET_TABLECREATE3 memungkinkan fungsi panggilan balik ditentukan.
Windows 7:JetCreateTableColumnIndex3 diperkenalkan dalam sistem operasi Windows 7.
JET_ERR JET_API JetCreateTableColumnIndex3(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in_out JET_TABLECREATE3* ptablecreate
);
Parameter
sesid
Konteks sesi database yang digunakan untuk panggilan API.
dbid
Pengidentifikasi database yang digunakan untuk panggilan API.
ptablecreate
Penunjuk ke struktur JET_TABLECREATE3 yang menentukan tabel yang akan dibuat. Lihat JET_TABLECREATE3 untuk detail selengkapnya.
Tampilkan Nilai
Fungsi ini mengembalikan jenis data JET_ERR dengan salah satu kode pengembalian berikut. Untuk informasi selengkapnya tentang kemungkinan kesalahan ESE, lihat Kesalahan Mesin Penyimpanan yang Dapat Diperluas dan Parameter Penanganan Kesalahan.
Menampilkan kode |
Deskripsi |
|---|---|
JET_errSuccess |
Operasi berhasil diselesaikan. |
JET_errCallbackNotResolved |
Fungsi panggilan balik tidak dapat diatasi. DLL mungkin belum ditemukan, atau fungsi di DLL mungkin belum ditemukan. Dengan pengelogan yang memadai diaktifkan, log peristiwa akan memberikan detail lebih lanjut. |
JET_errCannotIndex |
Upaya dilakukan untuk mengindeks melalui kolom escrow-update atau SLV (perhatikan bahwa kolom SLV tidak digunakan lagi). |
JET_errCannotNestDDL |
Jika ptablecreate-grbit> menentukan JET_bitTableCreateTemplateTable, tetapi ptablecreate-szTemplateTableName> diatur ke NULL. |
JET_errColumnDuplicate |
Kolom sudah ada. |
JET_errColumnNotFound |
Upaya dilakukan untuk mengindeks kolom yang tidak ada. Mencoba mengindeks secara kondisional melalui kolom yang tidak ada juga dapat menghasilkan kesalahan ini. |
JET_errColumnRedundant |
Upaya dilakukan untuk menambahkan kolom redundan. Tidak boleh ada lebih dari satu kolom autoincrement, dan tidak lebih dari satu kolom versi per tabel. |
JET_errDensityInvalid |
Kesalahan ini akan dikembalikan jika anggota ulDensity dari struktur JET_INDEXCREATE2 diatur ke angka kurang dari 20 atau lebih dari 100. |
JET_errDDLNotInheritable |
Menandakan bahwa tabel bernama di anggota szTemplateTableName dari struktur JET_TABLECREATE3 tidak ditandai sebagai tabel templat (artinya, tabel tersebut tidak memiliki kumpulan JET_bitTableCreateTemplateTable). |
JET_errIndexDuplicate |
Upaya untuk menentukan dua indeks identik dilakukan. |
JET_errIndexHasPrimary |
Upaya dilakukan untuk menentukan lebih dari satu indeks utama untuk tabel. Tabel harus memiliki tepat satu indeks utama. Jika tidak ada indeks utama yang ditentukan, mesin database akan membuatnya secara transparan. |
JET_errIndexInvalidDef |
Definisi indeks yang tidak valid ditentukan. Berikut ini adalah beberapa kemungkinan alasan untuk menerima kesalahan ini:
|
JET_errIndexTuplesInvalidLimits |
Windows XP dan versi Windows yang lebih baru. Struktur JET_TUPLELIMITS ditentukan, dan batasnya tidak didukung. Lihat bagian keterangan dari struktur JET_TUPLELIMITS . |
JET_errIndexTuplesNonUniqueOnly |
Windows XP dan versi Windows yang lebih baru. Indeks tuple tidak boleh unik (yaitu, anggota grbit struktur JET_INDEXCREATE2 tidak boleh memiliki JET_bitIndexPrimary dan JET_bitIndexUnique diatur). |
JET_errIndexTuplesOneColumnOnly |
Windows XP dan versi Windows yang lebih baru. Indeks tuple hanya dapat melebihi satu kolom (yaitu, jika anggota grbit struktur JET_INDEXCREATE2 memiliki set JET_bitIndexTuples, dan anggota szKey dari struktur JET_INDEXCREATE2 menentukan lebih dari satu kolom). |
JET_errIndexTuplesSecondaryIndexOnly |
Windows XP dan versi Windows yang lebih baru. Indeks tuple tidak boleh menjadi indeks utama (yaitu, anggota grbit dari struktur JET_INDEXCREATE2 tidak boleh memiliki JET_bitIndexPrimary dan JET_bitIndexTuples yang ditetapkan). |
JET_errIndexTuplesTextColumnsOnly |
Windows XP dan versi Windows yang lebih baru. Indeks tuple hanya dapat berada di teks atau kolom Unicode. Upaya untuk mengindeks kolom lain (seperti kolom biner) akan menghasilkan JET_errIndexTuplesTextColumnsOnly. |
JET_errIndexTuplesVarSegMacNotAllowed |
Windows XP dan versi Windows yang lebih baru. Indeks tuple tidak memungkinkan anggota cbVarSegMac dari struktur JET_INDEXCREATE2 diatur. |
JET_errInTransaction |
Upaya dilakukan untuk membuat indeks tanpa informasi versi saat dalam transaksi. |
JET_errInvalidCodePage |
Anggota cp dari struktur JET_COLUMNCREATE tidak diatur ke halaman kode yang valid. Satu-satunya nilai yang valid untuk kolom teks adalah Bahasa Inggris (1252) dan Unicode (1200). Nilai 0 berarti default akan digunakan (Inggris, 1252). |
JET_errInvalidColumnType |
Anggota coltyp dari struktur JET_COLUMNCREATE tidak diatur ke jenis kolom yang valid. |
JET_errInvalidCreateIndex |
Berikut ini adalah beberapa alasan mengapa kesalahan ini dapat terjadi:
|
JET_errInvalidgrbit |
Kombinasi anggota grbit yang tidak valid ditentukan dalam JET_TABLECREATE3. Definisi indeks tidak valid karena anggota grbit berisi nilai yang tidak konsisten. Berikut ini adalah beberapa kemungkinan alasannya:
|
JET_errInvalidLanguageId |
ID Lokal (LCID) tidak valid diteruskan (baik melalui anggota lcid struktur JET_UNICODEINDEX yang ditunjukkan oleh anggota pidxunicode dalam struktur JET_INDEXCREATE2 , atau melalui bidang lcid dari struktur JET_INDEXCREATE2 ). |
JET_errInvalidParameter |
Parameter yang tidak valid diberikan. Berikut ini adalah beberapa kemungkinan alasannya:
|
JET_errRecordTooBig |
Rekornya terlalu besar. Jumlah anggota cbMax dari struktur JET_COLUMNCREATE untuk semua kolom tetap tidak boleh melebihi nilai tertentu. |
JET_errTableDuplicate |
Tabel sudah ada. |
JET_errTooManyColumns |
Upaya dilakukan untuk menambahkan terlalu banyak kolom ke tabel. Tabel tidak boleh memiliki lebih dari JET_ccolFixedMost kolom tetap, tidak lebih dari JET_ccolVarMost kolom dengan panjang variabel, dan tidak lebih dari kolom yang diberi tag JET_ccolTaggedMost. |
JET_errUnicodeTranslationFail |
Terjadi kesalahan saat mencoba menormalkan kolom Unicode. Hal ini dapat disebabkan oleh kehabisan sumber daya sistem. |
JET_errSpaceHintsInvalid |
Elemen struktur petunjuk ruang JET tidak benar atau dapat ditindak. |
Keterangan
Nama JetCreateTableColumnIndex3 berasal dari urutan pembuatan objek: Pertama-tama membuat tabel, kolom, lalu akhirnya mengindeks. JetCreateTableColumnIndex3 membuat tabel dengan sekumpulan kolom dan indeks awal. Kolom dan indeks tambahan dapat ditambahkan dan dihapus secara dinamis dengan JetAddColumn, JetDeleteColumn, JetDeleteColumn2, JetCreateIndex, JetCreateIndex2, JetCreateIndex3, dan JetDeleteIndex.
Seperti JetOpenTable, ketika aplikasi dilakukan menggunakan tableid yang dikembalikan, biasanya harus ditutup dengan JetCloseTable.
Persyaratan
| Persyaratan | Nilai |
|---|---|
Klien |
Memerlukan Windows Vista atau Windows XP. |
Server |
Memerlukan Windows Server 2008 atau Windows Server 2003. |
Header |
Dinyatakan dalam Esent.h. |
Pustaka |
Gunakan ESENT.lib. |
DLL |
Membutuhkan ESENT.dll. |
Unicode |
Diimplementasikan sebagai JetCreateTableColumnIndex3W (Unicode) dan JetCreateTableColumnIndex3A (ANSI). |
Lihat juga
JET_CBTYP
JET_DBID
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_INDEXCREATE2
JET_SESID
JET_TABLEID
JET_TABLECREATE2
JET_TABLECREATE3
JET_TUPLELIMITS
JetAddColumn
JetCreateIndex
JetCreateIndex2
JetCreateIndex3
JetCreateTable
JetCreateTableColumnIndex
JetDeleteColumn
JetDeleteColumn2