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 JetCreateIndex3
Fungsi JetCreateIndex3 membuat indeks atas data dalam database ESE, yang dapat digunakan untuk menemukan data tertentu dengan cepat.
Windows 7: JetCreateIndex3 diperkenalkan dalam sistem operasi Windows 7.
JET_ERR JET_API JetCreateIndex3(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_INDEXCREATE2* pindexcreate,
__in unsigned long cIndexCreate
);
Parameter
sesid
Konteks sesi database yang digunakan untuk panggilan API.
tableid
Tabel tempat indeks akan dibuat.
pindexcreate
Array struktur JET_INDEXCREATE2 , yang masing-masing mendefinisikan indeks yang akan dibuat.
cIndexCreate
Jumlah elemen dalam array pindexcreate .
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_errCannotIndex |
Upaya dilakukan untuk mengindeks melalui kolom escrow-update atau SLV (perhatikan bahwa kolom SLV tidak digunakan lagi). |
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_errDensityInvalid |
Kesalahan ini akan dikembalikan jika anggota ulDensity dari struktur JET_INDEXCREATE2 diatur ke angka kurang dari 20 atau lebih besar dari 100. |
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 (grbit tidak boleh memiliki set JET_bitIndexTuples dan JET_bitIndexUnique). |
JET_errIndexTuplesOneColumnOnly |
Windows XP dan versi Windows yang lebih baru. Indeks tuple hanya dapat melebihi satu kolom (yaitu, anggota grbit struktur JET_INDEXCREATE2 memiliki kumpulan 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 (misalnya, 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_errInvalidgrbit |
Definisi indeks tidak valid karena anggota grbit dari struktur JET_INDEXCREATE2 berisi nilai yang tidak konsisten. Berikut ini adalah beberapa kemungkinan alasannya:
Saat membuat beberapa indeks sekaligus (yaitu, jika parameter cIndexCreate lebih besar dari satu), tidak ada indeks yang mungkin berisi salah satu bit berikut:
|
JET_errInvalidLanguageId |
ID Lokal tidak valid (LCID) diteruskan (baik melalui anggota lcid dalam struktur JET_UNICODEINDEX , yang anggota pidxunicode dalam struktur JET_INDEXCREATE2 berisi pointer ke, atau melalui anggota lcid dari struktur JET_INDEXCREATE2 ). |
JET_errInvalidName |
Nama indeks yang tidak valid ditentukan. Lihat JET_INDEXCREATE2 untuk detail selengkapnya. |
JET_errInvalidParameter |
Parameter yang tidak valid diteruskan ke API. Berikut ini adalah beberapa alasan mengapa kesalahan ini dapat dikembalikan:
|
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
Nilai yang dikembalikan JET_errSuccess pada keberhasilan penyelesaian semua indeks yang ditentukan.
JetCreateIndex3 melakukan iterasi melalui indeks yang diberikan dalam pindexcreate, dan terkadang akan dibatalkan pada kegagalan pertama. Indeks apa pun setelah indeks pertama dengan kesalahan mungkin belum dicoba, meskipun anggota err dari struktur JET_INDEXCREATE2 berisi JET_errSuccess.
Persyaratan
| Persyaratan | Nilai |
|---|---|
Klien |
Memerlukan Windows Vista, Windows XP, atau Windows 2000 Professional. |
Server |
Memerlukan Windows Server 2008, Windows Server 2003, atau Windows 2000 Server. |
Header |
Dinyatakan dalam Esent.h. |
Pustaka |
Gunakan ESENT.lib. |
DLL |
Membutuhkan ESENT.dll. |
Unicode |
Diimplementasikan sebagai JetCreateIndex3W (Unicode) dan JetCreateIndex3A (ANSI). |
Lihat juga
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_INDEXCREATE2
JetCreateIndex
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
JET_SPACEHINTS