JetCreateTableColumnIndex2-Funktion
Letzte Änderung: Freitag, 27. Februar 2015
Gilt für: Windows | Windows Server
JetCreateTableColumnIndex2-Funktion
Die JetCreateTableColumnIndex2 -Funktion erstellt in einer ESE-Datenbank mit einer Reihe von Indizes und einer Reihe von Spalten aus einem Array von JET_TABLECREATE2 Strukturen eine Tabelle. Die Struktur JET_TABLECREATE2 ermöglicht eine Rückruffunktion angegeben werden.
Windows XP:JetCreateTableColumnIndex2 wird in Windows XP eingeführt.
JET_ERR JET_API JetCreateTableColumnIndex2(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in_out JET_TABLECREATE2* ptablecreate
);
Parameter
sesid
Der Kontext, für den API-Aufruf zu verwendenden Datenbank Sitzung.
DBID
Die Datenbank-ID für den API-Aufruf verwenden.
ptablecreate
Ein Zeiger auf eine JET_TABLECREATE2 -Struktur, die die zu erstellenden Tabelle definiert. Einzelheiten finden Sie unter JET_TABLECREATE2 .
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_errCallbackNotResolved |
Die Callback-Funktion konnte nicht aufgelöst werden. Die DLL kann nicht gefunden oder die Funktion in der DLL möglicherweise nicht gefunden. Mit ausreichend Protokollierung aktiviert, wird im Ereignisprotokoll weitere Details bereitstellen. |
JET_errCannotIndex |
Es wurde versucht, über eine hinterlegten-Update oder SLV Spalte (Beachten Sie, dass SLV Spalten veraltet sind) zu indizieren. |
JET_errCannotNestDDL |
Wenn Ptablecreate -> JET_errInvalidGrbit gibt JET_bitTableCreateTemplateTable, aber Ptablecreate -> SzTemplateTableName auf NULL festgelegt ist. |
JET_errColumnDuplicate |
Eine Spalte ist bereits vorhanden. |
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_errColumnRedundant |
Es wurde versucht, eine redundante Spalte hinzuzufügen. Es sollte nicht mehr als eine Autoincrement-Spalte und nicht mehr als eine Version Spalte pro Tabelle. |
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_errDDLNotInheritable |
Gibt an, dass die Tabelle mit dem Namen im SzTemplateTableName -Member der Struktur JET_TABLECREATE keine als Vorlagentabelle markiert wurde (d. h., diese Tabelle enthält keinen JET_bitTableCreateTemplateTable Set). |
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 (d. h., das JET_errInvalidGrbit Mitglied der JET_INDEXCREATE Struktur darf keine JET_bitIndexPrimary und JET_bitIndexUnique festlegen). |
JET_errIndexTuplesOneColumnOnly |
Windows XP und höher. Ein Tupelindex kann nur über eine einzelne Spalte sein, (d. h., wenn der JET_errInvalidGrbit Member der Struktur JET_INDEXCREATE JET_bitIndexTuples festgelegt, und das SzKey Mitglied der JET_INDEXCREATE -Struktur mehr als eine Spalte gibt). |
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_errInvalidCodePage |
Der cp -Member der Struktur JET_COLUMNCREATE wurde nicht auf eine gültige Codepage festgelegt. Die einzige gültige Werte für Textspalten sind Englisch (1252) und Unicode (1200). Der Wert 0 bedeutet, dass der Standardwert (Englisch, 1252) verwendet. |
JET_errInvalidColumnType |
Das Coltyp Mitglied der JET_COLUMNCREATE -Struktur wurde nicht auf einen gültigen Spaltentyp festgelegt. |
JET_errInvalidCreateIndex |
Einige Gründe, dass dieser Fehler kann auftreten:
|
JET_errInvalidgrbit |
Eine ungültige Kombination von JET_errInvalidGrbit Member wurde in JET_TABLECREATE oder JET_TABLECREATE2angegeben. Die Indexdefinition ist ungültig, da das Element JET_errInvalidGrbit inkonsistente Werte enthält. Möglichen Ursachen sind:
|
JET_errInvalidLanguageId |
Eine ungültige Gebietsschema-ID (LCID) übergeben wurde (entweder über die Lcid Mitglied der JET_UNICODEINDEX -Struktur, die mit dem Pidxunicode -Element in der Struktur JET_INDEXCREATE gezeigt wird, oder Lcid -Feld der Struktur JET_INDEXCREATE ). |
JET_errInvalidParameter |
Es wurde ein ungültiger Parameter angegeben. Möglichen Ursachen sind:
|
JET_errRecordTooBig |
Der Datensatz ist zu groß. Die Summe der CbMax Mitglied der JET_COLUMNCREATE -Struktur für alle Spalten mit festen darf nicht mit einen bestimmten Wert überschreiten. |
JET_errTableDuplicate |
In der Tabelle ist bereits vorhanden. |
JET_errTooManyColumns |
Es wurde versucht, um die Tabelle zu viele Spalten hinzuzufügen. Eine Tabelle kann nicht mehr als JET_ccolFixedMost festen Spalten, nicht mehr als JET_ccolVarMost variabler Länge Spalten und nicht mehr als JET_ccolTaggedMost Spalten markiert haben. |
JET_errUnicodeTranslationFail |
Ein Unicode Column normalisieren ist ein Fehler aufgetreten. Dies kann durch Ausführen von Systemressourcen verursacht werden. |
Anmerkungen
Der Name JetCreateTableColumnIndex2 aus der Reihenfolge der Erstellung der Objekte stammen: es zuerst erstellt eine Tabelle, Spalten, und klicken Sie dann schließlich indiziert. JetCreateTableColumnIndex2 erstellt eine Tabelle mit einer Reihe von Spalten und Indizes. Zusätzliche Spalten und Indizes können hinzugefügt und mit JetAddColumn, JetDeleteColumn, JetDeleteColumn2, JetCreateIndex, JetCreateIndex2und JetDeleteIndexdynamisch entfernt werden.
Wie JetOpenTable, wenn die Anwendung ist mit dem zurückgegebenen Tableid, es in der Regel geschlossen werden mit JetCloseTable.
Voraussetzungen
-Client, |
Erfordert Windows Vista oder Windows XP. |
Server |
Erfordert WindowsServer 2008 oder WindowsServer 2003. |
Kopfzeile |
In Esent.h deklariert. |
Library |
Verwenden Sie ESENT.lib. |
DLL |
Erfordert "ESENT.dll". |
Unicode |
Implementiert als JetCreateTableColumnIndex2W (Unicode) und JetCreateTableColumnIndex2A (ANSI). |
Siehe auch
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