Fungsi JetCreateTableColumnIndex2
Berlaku untuk: Windows | Windows Server
Fungsi JetCreateTableColumnIndex2
Fungsi JetCreateTableColumnIndex2 membuat tabel dalam database ESE dengan sekumpulan indeks awal dan sekumpulan kolom awal dari array struktur JET_TABLECREATE2 . Struktur JET_TABLECREATE2 memungkinkan fungsi panggilan balik ditentukan.
Windows XP: JetCreateTableColumnIndex2 diperkenalkan di Windows XP.
JET_ERR JET_API JetCreateTableColumnIndex2(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in_out JET_TABLECREATE2* ptablecreate
);
Parameter
sesid
Konteks sesi database yang digunakan untuk panggilan API.
dbid
Pengidentifikasi database yang digunakan untuk panggilan API.
ptablecreate
Penunjuk ke struktur JET_TABLECREATE2 yang menentukan tabel yang akan dibuat. Lihat JET_TABLECREATE2 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_INDEXCREATE diatur ke angka kurang dari 20 atau lebih dari 100. |
JET_errDDLNotInheritable |
Menandakan bahwa tabel yang dinamai dalam anggota szTemplateTableName dari struktur JET_TABLECREATE bukan 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. Beberapa alasan yang mungkin untuk menerima kesalahan ini adalah:
|
JET_errIndexTuplesInvalidLimits |
Windows XP dan yang lebih baru. Struktur JET_TUPLELIMITS ditentukan, dan batasnya tidak didukung. Lihat bagian keterangan dari struktur JET_TUPLELIMITS . |
JET_errIndexTuplesNonUniqueOnly |
Windows XP dan yang lebih baru. Indeks tuple tidak boleh unik (yaitu, anggota grbit struktur JET_INDEXCREATE tidak boleh memiliki JET_bitIndexPrimary dan set JET_bitIndexUnique). |
JET_errIndexTuplesOneColumnOnly |
Windows XP dan yang lebih baru. Indeks tuple hanya dapat melebihi satu kolom (yaitu, jika anggota grbit struktur JET_INDEXCREATE memiliki kumpulan JET_bitIndexTuples , dan anggota szKey dari struktur JET_INDEXCREATE menentukan lebih dari satu kolom). |
JET_errIndexTuplesSecondaryIndexOnly |
Windows XP dan yang lebih baru. Indeks tuple tidak boleh menjadi indeks utama (yaitu, anggota grbit struktur JET_INDEXCREATE tidak boleh memiliki JET_bitIndexPrimary dan JET_bitIndexTuples yang ditetapkan). |
JET_errIndexTuplesTextColumnsOnly |
Windows XP dan 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 yang lebih baru. Indeks tuple tidak memungkinkan anggota cbVarSegMac dari struktur JET_INDEXCREATE 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 |
Beberapa alasan kesalahan ini mungkin terjadi:
|
JET_errInvalidgrbit |
Kombinasi anggota grbit yang tidak valid ditentukan dalam JET_TABLECREATE atau JET_TABLECREATE2. Definisi indeks tidak valid karena anggota grbit berisi nilai yang tidak konsisten. Beberapa alasan yang mungkin adalah:
|
JET_errInvalidLanguageId |
ID Lokal (LCID) tidak valid diteruskan (baik melalui anggota lcid dari struktur JET_UNICODEINDEX yang ditunjukkan oleh anggota pidxunicode dalam struktur JET_INDEXCREATE , atau melalui bidang lcid dari struktur JET_INDEXCREATE ). |
JET_errInvalidParameter |
Parameter yang tidak valid diberikan. Beberapa kemungkinan alasannya adalah:
|
JET_errRecordTooBig |
Catatannya 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 panjang variabel, dan tidak lebih dari kolom yang diberi tag JET_ccolTaggedMost. |
JET_errUnicodeTranslationFail |
Terjadi kesalahan saat mencoba menormalkan kolom Unicode. Ini dapat disebabkan oleh kehabisan sumber daya sistem. |
Keterangan
Nama JetCreateTableColumnIndex2 berasal dari urutan pembuatan objek: Pertama-tama membuat tabel, kolom, lalu akhirnya mengindeks. JetCreateTableColumnIndex2 membuat tabel dengan sekumpulan kolom dan indeks awal. Kolom dan indeks tambahan dapat ditambahkan dan dihapus secara dinamis dengan JetAddColumn, JetDeleteColumn, JetDeleteColumn2, JetCreateIndex, JetCreateIndex2, 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 JetCreateTableColumnIndex2W (Unicode) dan JetCreateTableColumnIndex2A (ANSI). |
Lihat juga
JET_CBTYP
JET_DBID
JET_ERR
JET_GRBIT
JET_INDEXCREATE
JET_SESID
JET_TABLEID
JET_TABLECREATE
JET_TABLECREATE2
JET_TUPLELIMITS
JetAddColumn
JetCreateIndex
JetCreateIndex2
JetCreateTable
JetCreateTableColumnIndex
JetDeleteColumn
JetDeleteColumn2
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk