JetOpenTable-Funktion
Letzte Änderung: Freitag, 27. Februar 2015
Gilt für: Windows | Windows Server
JetOpenTable-Funktion
Die Funktion JetOpenTable öffnet einen Cursor auf eine zuvor erstellte Tabelle.
JET_ERR JET_API JetOpenTable(
__in JET_SESID sesid,
__in JET_DBID dbid,
__in const tchar* szTableName,
__in_opt const void* pvParameters,
__in unsigned long cbParameters,
__in JET_GRBIT grbit,
__out JET_TABLEID* ptableid
);
Parameter
sesid
Die zu verwendende Datenbank Sitzungskontext.
DBID
Die Datenbank-ID mit die Tabelle zu finden.
szTableName
Der Name der zu öffnenden Tabelle.
pvParameters
Veraltet. Auf NULLfestgelegt.
cbParameters
Veraltet. Legen Sie auf 0 (null).
JET_errInvalidGrbit
Eine Gruppe von Bits 0 (null) oder mehrere der folgenden Optionen angeben.
Wert |
Bedeutung |
---|---|
JET_bitTableDenyRead |
Die Tabelle kann nicht von einer anderen Datenbanksitzung für Lese-Zugriff geöffnet werden. |
JET_bitTableDenyWrite |
Die Tabelle kann nicht von einer anderen Datenbanksitzung für Schreibzugriff geöffnet werden. |
JET_bitTableNoCache |
Die Seiten für diese Tabelle nicht zwischengespeichert werden. |
JET_bitTablePermitDDL |
Ermöglicht das Bearbeiten von DDL für Tabellen, die als FixedDDL gekennzeichnet. Diese Option muss mit der Option JET_bitTableDenyRead verwendet werden. |
JET_bitTablePreread |
Stellt einen Hinweis, dass die Tabelle wahrscheinlich nicht im Puffercache ist, und diese vor dem Lesen möglicherweise positiv auf die Leistung. |
JET_bitTableReadOnly |
Anforderungen schreibgeschützten Zugriff auf die Tabelle. |
JET_bitTableSequential |
Die Tabelle sollte sehr aggressiv vorab abgerufene vom Datenträger sein, da die Anwendung sequenziell durchsuchten sein wird. |
JET_bitTableUpdatable |
Anforderungen Schreibzugriff auf die Tabelle. |
ptableid
Erfolg zeigt die ID der Tabelle. Bei einem Fehler wird der Inhalt für Ptableid nicht definiert.
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_errInvalidDatabaseId |
DBID ist kein gültiger Datenbankbezeichner. |
JET_errInvalidgrbit |
Eine ungültige Kombination von JET_errInvalidGrbit wurde übergeben. |
JET_errInvalidName |
Die in SzTableName angegebene Name ist ungültig. Weitere Informationen zu gültigen Tabellennamen finden Sie unter Parameters SzTableName im JetCreateTable. |
JET_errObjectNotFound |
Es wurde versucht, eine Tabelle, die nicht vorhanden ist in der Datenbank öffnen. |
JET_errOutOfCursors |
Der Vorgang fehlgeschlagen ist, da das Modul die erforderlichen Ressourcen zum Öffnen Sie eines neuen Cursors zuweisen ist nicht möglich. Finden Sie im Abschnitt "Hinweise". |
JET_errTableInUse |
Die Tabelle wird mit einer anderen Datenbankoperation verwendet. |
JET_wrnTableInUseBySystem |
Eine ein nicht schwerwiegender Warnung gibt an, dass die Tabelle vom System verwendet wird. |
JET_errTableLocked |
Die Tabelle ist mit einer anderen Datenbankoperation gesperrt. |
JET_errTooManyOpenTables |
Es wurde versucht, um zu viele eindeutige Tabellen gleichzeitig zu öffnen. Finden Sie im Abschnitt "Hinweise". |
Anmerkungen
Tabellen mit JetOpenTable geöffnet sollte in der Regel mit JetCloseTablegeschlossen werden. Die Ausnahme zu dieser Regel geschieht, wenn JetOpenTable in einer Transaktion aufgerufen, und die Transaktion ein (mit JetRollback Rollback wird). Wenn eine Transaktion zurückgesetzt, wird die Tabelle automatisch geschlossen. In diesem Fall ist es ein Fehler auf die Tabelle mit JetCloseTablezu schließen.
Es ist zulässig, Systemtabellen mit JetOpenTable (beispielsweise MSysObjects, MSysUnicodeFixup) zu öffnen. Das Schema der Systemtabellen möglicherweise ändern, damit den Zugriff auf Systemtabellen abgeraten wird. Die Anzahl der eindeutigen Tabellen, die gleichzeitig geöffnet werden können, ist direkt von JET_paramMaxOpenTablesbetroffen. Wenn die Tabelle derzeit geöffnet ist wird in der Tabelle ein neuer Cursor erstellt werden. Cursor-Ressourcen werden mithilfe von JetSetSystemParameter mit JET_paramMaxCursorskonfiguriert. Siehe auch JetDupCursor.
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 JetOpenTableW (Unicode) und JetOpenTableA (ANSI). |
Siehe auch
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetCloseTable
JetDupCursor
JetRollback
JetSetSystemParameter
Parameter für Ressourcen