JetCreateIndex2-Funktion
Letzte Änderung: Freitag, 27. Februar 2015
Gilt für: Windows | Windows Server
JetCreateIndex2-Funktion
Die Funktion JetCreateIndex2 erstellt Indizes über Daten in einer ESE-Datenbank, die verwendet werden kann, um bestimmte Daten schnell zu finden.
JET_ERR JET_API JetCreateIndex2(
__in JET_SESID sesid,
__in JET_TABLEID tableid,
__in JET_INDEXCREATE* pindexcreate,
__in unsigned long cIndexCreate
);
Parameter
sesid
Der Kontext, für den API-Aufruf zu verwendenden Datenbank Sitzung.
TableID
Die Tabelle, auf der der Index erstellt wird.
pindexcreate
Ein Array von JET_INDEXCREATE -Strukturen, von denen jedes definiert einen Index erstellt werden soll.
cIndexCreate
Die Anzahl der Elemente im Array Pindexcreate .
Return Value
Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine-Fehlern und Fehler behandeln von Parametern.
Rückgabecode |
Beschreibung |
---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. |
JET_errCannotIndex |
Es wurde versucht, über eine hinterlegten-Update oder SLV Spalte (Beachten Sie, dass SLV Spalten veraltet sind) zu indizieren. |
JET_errColumnNotFound |
Es wurde versucht, eine nicht vorhandene Spalte zu indizieren. Versucht, über eine nicht vorhandene Spalte bedingt index kann auch diesen Fehler erzeugen. |
JET_errDensityInvalid |
Dieser Fehler wird zurückgegeben werden, wenn das UlDensity Mitglied der JET_INDEXCREATE -Struktur auf eine Zahl kleiner als 20 oder mehr als 100 festgelegt ist. |
JET_errIndexDuplicate |
So definieren Sie zwei identische Indizes es wurde versucht. |
JET_errIndexHasPrimary |
Es wurde versucht, mehr als einen einzigen Primärindex für eine Tabelle angeben. Eine Tabelle muss exakt einen primären Index verfügen. Wenn kein primärer Index angegeben wird, wird die Datenbank-Engine transparent erstellt. |
JET_errIndexInvalidDef |
Es wurde eine Ungültiger Indexdefinition angegeben. Mögliche Ursachen für diese Fehlermeldung sind:
|
JET_errIndexTuplesInvalidLimits |
Windows XP und höher. Eine Struktur JET_TUPLELIMITS angegeben wurde, und seine Grenzen werden nicht unterstützt. Finden Sie im Abschnitt "Hinweise" der Struktur JET_TUPLELIMITS . |
JET_errIndexTuplesNonUniqueOnly |
Windows XP und höher. Ein Tupelindex kann nicht eindeutig sein (JET_errInvalidGrbit darf keine beide JET_bitIndexTuples und JET_bitIndexUnique festlegen). |
JET_errIndexTuplesOneColumnOnly |
Windows XP und höher. Ein Tupelindex kann nur über eine einzelne Spalte werden (d. h., der JET_errInvalidGrbit Member der Struktur JET_INDEXCREATE hat JET_bitIndexTuples Set und das SzKey Mitglied der JET_INDEXCREATE -Struktur gibt mehr als eine Spalte). |
JET_errIndexTuplesSecondaryIndexOnly |
Windows XP und höher. Ein Tupelindex kann kein Primärindex sein (d. h., das JET_errInvalidGrbit Mitglied der JET_INDEXCREATE Struktur darf keine beide JET_bitIndexPrimary und JET_bitIndexTuples festlegen). |
JET_errIndexTuplesTextColumnsOnly |
Windows XP und höher. Ein Tupelindex kann nur für Text oder Unicode-Spalte sein. Versuch zum Indizieren von anderen Spalten (beispielsweise binäre Spalten) führt JET_errIndexTuplesTextColumnsOnly. |
JET_errIndexTuplesVarSegMacNotAllowed |
Windows XP und höher. Ein Tupelindex lässt keine den CbVarSegMac Member der Struktur JET_INDEXCREATE festgelegt werden soll. |
JET_errInTransaction |
Es wurde versucht, einen Index ohne Versionsinformationen in einer Transaktion erstellen. |
JET_errInvalidgrbit |
Die Indexdefinition ist ungültig, da der JET_errInvalidGrbit Member der Struktur JET_INDEXCREATE inkonsistente Werte enthält. Möglichen Ursachen sind:
Beim Erstellen mehrerer Indizes auf einmal (d. h., wenn der Parameter cIndexCreate größer als 1 ist), keine Indizes kann eine der folgenden Bits enthalten:
|
JET_errInvalidLanguageId |
Eine ungültige Gebietsschema-ID (LCID) übergeben wurde (entweder über den Lcid -Member in der JET_UNICODEINDEX -Struktur, die das Pidxunicode -Element in der Struktur JET_INDEXCREATE einen Zeiger auf enthält, oder über den Lcid -Member der Struktur JET_INDEXCREATE ). |
JET_errInvalidName |
Es wurde ein ungültiger Indexname angegeben. Einzelheiten finden Sie unter JET_INDEXCREATE . |
JET_errInvalidParameter |
In der API wurde ein ungültiger Parameter übergeben. Sind einige Gründe aufgeführt, die möglicherweise dieser Fehler zurückgegeben werden:
|
JET_errUnicodeTranslationFail |
Ein Unicode Column normalisieren ist ein Fehler aufgetreten. Dies kann durch Ausführen von Systemressourcen verursacht werden. |
Anmerkungen
Der Rückgabewert ist JET_errSuccess bei erfolgreichem Abschluss aller Indizes angegeben.
JetCreateIndex2 durchlaufen und die Indizes in Pindexcreatezugewiesen und wird manchmal beim ersten Fehler abgebrochen. Nach dem ersten Index mit einem Fehler Indizes nicht haben möglicherweise versucht wurde, obwohl das err- Element der Struktur JET_INDEXCREATE JET_errSuccess enthält.
Voraussetzungen
-Client, |
Erfordert Windows Vista, Windows XP oder Windows 2000 Professional. |
Server |
WindowsServer 2008, WindowsServer 2003 oder Windows 2000 Server benötigt. |
Kopfzeile |
In Esent.h deklariert. |
Library |
Verwenden Sie ESENT.lib. |
DLL |
Erfordert "ESENT.dll". |
Unicode |
Implementiert als JetCreateIndex2W (Unicode) und JetCreateIndex2A (ANSI). |
Siehe auch
JET_CONDITIONALCOLUMN
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_INDEXCREATE
JetCreateIndex
JetCreateTableColumnIndex
JetCreateTableColumnIndex2