Fungsi JetCreateIndex2
Berlaku untuk: Windows | Windows Server
Fungsi JetCreateIndex2
Fungsi JetCreateIndex2 membuat indeks atas data dalam database ESE, yang dapat digunakan untuk menemukan data tertentu dengan cepat.
JET_ERR JET_API JetCreateIndex2(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_INDEXCREATE* 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_INDEXCREATE , 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_INDEXCREATE diatur ke angka kurang dari 20 atau lebih 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. 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 (grbit tidak boleh memiliki set JET_bitIndexTuples dan JET_bitIndexUnique). |
JET_errIndexTuplesOneColumnOnly |
Windows XP dan yang lebih baru. Indeks tuple hanya dapat melebihi satu kolom (yaitu, 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 (misalnya, 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_errInvalidgrbit |
Definisi indeks tidak valid karena anggota grbit dari struktur JET_INDEXCREATE berisi nilai yang tidak konsisten. Beberapa alasan yang mungkin adalah:
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_INDEXCREATE berisi pointer ke, atau melalui anggota lcid dari struktur JET_INDEXCREATE ). |
JET_errInvalidName |
Nama indeks yang tidak valid ditentukan. Lihat JET_INDEXCREATE untuk detail selengkapnya. |
JET_errInvalidParameter |
Parameter yang tidak valid diteruskan ke API. Beberapa alasan kesalahan ini dapat dikembalikan adalah:
|
JET_errUnicodeTranslationFail |
Terjadi kesalahan saat mencoba menormalkan kolom Unicode. Hal ini dapat disebabkan oleh kehabisan sumber daya sistem. |
Keterangan
Nilai yang dikembalikan JET_errSuccess pada keberhasilan penyelesaian semua indeks yang ditentukan.
JetCreateIndex2 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_INDEXCREATE 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 JetCreateIndex2W (Unicode) dan JetCreateIndex2A (ANSI). |
Lihat juga
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_INDEXCREATE
JetCreateIndex
JetCreateTableColumnIndex
JetCreateTableColumnIndex2
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