Freigeben über


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