JetBeginSession-Funktion
Gilt für: Windows | Windows Server
JetBeginSession-Funktion
Die JetBeginSession-Funktion startet eine Sitzung, initialisiert und gibt ein ESE-Sitzungshandle (JET_SESID) zurück. Sitzungen steuern den gesamten Zugriff auf die Datenbank und werden verwendet, um den Umfang von Transaktionen zu steuern. Die Sitzung kann verwendet werden, um Transaktionen zu starten, zu commiten oder abzubrechen. Die Sitzung wird auch zum Anfügen, Erstellen oder Öffnen einer Datenbank verwendet. Die Sitzung wird als Kontext für alle DDL- und DML-Vorgänge verwendet. Um die Parallelität und den parallelen Zugriff auf die Datenbank zu erhöhen, können mehrere Sitzungen gestartet werden.
JET_ERR JET_API JetBeginSession(
__in JET_INSTANCE instance,
__out JET_SESID* psesid,
__in_opt JET_PCSTR szUserName,
__in_opt JET_PCSTR szPassword
);
Parameter
instance
Die Datenbank instance, die für diesen Aufruf verwendet werden soll.
psesid
Zeiger auf die Variable, die das Sitzungshandle bei erfolgreicher Rückgabe initialisiert.
szUserName
Dieser Parameter ist reserviert.
szPassword
Dieser Parameter ist reserviert.
Rückgabewert
Diese Funktion ermöglicht die Rückgabe aller JET_ERRs, die in dieser API definiert sind. Weitere Informationen zu Jet-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.
Rückgabecode |
Beschreibung |
---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. |
JET_errClientRequestToStopJetService |
Es ist nicht möglich, den Vorgang abzuschließen, da alle Aktivitäten auf dem instance, die der Sitzung zugeordnet sind, aufgrund eines Aufrufs von JetStopService beendet wurden. |
JET_errInstanceUnavailable |
Es ist nicht möglich, den Vorgang abzuschließen, da beim instance, der der Sitzung zugeordnet ist, ein schwerwiegender Fehler aufgetreten ist, der erfordert, dass der Zugriff auf alle Daten widerrufen wird, um die Integrität dieser Daten zu schützen. Dieser Fehler wird nur von Windows XP und höheren Versionen zurückgegeben. |
JET_errInvalidParameter |
Einer der bereitgestellten Parameter enthielt einen unerwarteten Wert oder einen Wert, der in Kombination mit dem Wert eines anderen Parameters nicht sinnvoll war. |
JET_errNotInitialized |
Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance noch nicht initialisiert wurde. |
JET_errOutOfMemory |
Der Vorgang ist fehlgeschlagen, weil arbeitsspeicher nicht zugewiesen werden konnte. |
JET_errOutOfSessions |
Die Anzahl der Sitzungen, die die Engine dem Start des Clients ermöglicht, ist begrenzt. Dieser Wert kann mithilfe von JetSetSystemParameter mit der konstanten JET_paramMaxSessions geändert werden. Die Standardanzahl von Sitzungen ist 16. Ausführliche Informationen zu JET_paramMaxSessions finden Sie unter Systemparameter . |
JET_errRestoreInProgress |
Es ist nicht möglich, den Vorgang abzuschließen, da auf dem der Sitzung zugeordneten instance ein Wiederherstellungsvorgang ausgeführt wird. |
JET_errTermInProgress |
Es ist nicht möglich, den Vorgang abzuschließen, da die der Sitzung zugeordnete instance heruntergefahren wird. |
Bei Erfolg wird das Sitzungshandle initialisiert und kann für Datenbankvorgänge verwendet werden.
Bei einem Fehler sind keine Sitzungen verfügbar, oder eine neue Sitzung konnte nicht initialisiert werden.
Bemerkungen
Bei der Verwendung von Sitzungen über verschiedene Threads hinweg muss sorgfältig darauf geachtet werden. Eine Sitzung verfolgt, in welchem Thread sie während JetBeginTransaction, JetCommitTransaction oder JetRollback verwendet wurde, und löst einen Fehler aus, wenn sie für mehrere Threads mit einer geöffneten Transaktion verwendet wird. JetResetSessionContext, JetSetSessionContext kann dieses Verhalten ändern. Da die Sitzung immer noch ein serialisierter Kontext ist und mehrere Datenbankvorgänge nicht gleichzeitig in einer einzelnen Sitzung ausgeführt werden können, nur seriell. Sie können jedoch mehrere Sitzungen verwenden, um gleichzeitigen Datenbankzugriff zu erzielen. Sitzungen können innerhalb einer Transaktion threadsübergreifend verwendet werden, indem Sie die Sitzungskontexte festlegen und zurücksetzen.
Das Sitzungshandle sollte mit JetEndSession geschlossen werden.
Anforderungen
Anforderung | Wert |
---|---|
Client |
Erfordert Windows Vista, Windows XP oder Windows 2000 Professional. |
Server |
Erfordert Windows Server 2008, Windows Server 2003 oder Windows 2000 Server. |
Kopfzeile |
Deklariert in Esent.h. |
Bibliothek |
Verwenden Sie ESENT.lib. |
DLL |
Erfordert ESENT.dll. |
Unicode |
Implementiert als JetBeginSessionW (Unicode) und JetBeginSessionA (ANSI). |
Weitere Informationen
JET_ERR
JET_INSTANCE
JET_SESID
JetBeginTransaction
JetCommitTransaction
JetDupSession
JetEndSession
JetResetSessionContext
JetRollback
JetSetSessionContext
JetStopService
Systemparameter