JetCreateInstance-Funktion

Gilt für: Windows | Windows Server

JetCreateInstance-Funktion

Die JetCreateInstance-Funktion ordnet eine neue Instanz der Datenbank-Engine zur Verwendung in einem einzelnen Prozess zu.

Windows XP: JetCreateInstance wird in Windows XP eingeführt.

    JET_ERR JET_API JetCreateInstance(
      __out         JET_INSTANCE* pinstance,
      __in_opt      const tchar* szInstanceName
    );

Parameter

Pinstance

Der Ausgabepuffer, der die neu erstellte Instanz empfängt.

szInstanceName

Ein eindeutiger Zeichenfolgenbezeichner für die zu erstellende Instanz. Diese Zeichenfolge muss innerhalb eines bestimmten Prozesses, der die Datenbank-Engine hostet, eindeutig sein.

Hinweis Ein NULL-Wert wird als gültiger Zeichenfolgenbezeichner für eine -Instanz behandelt. Nur eine Instanz kann über einen NULL-Zeichenfolgenbezeichner verfügen.

Rückgabewert

Diese Funktion gibt den JET_ERR Datentyp mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu den möglichen ESE-Fehlern finden Sie unter Extensible Storage Engine Errors and Error Handling Parameters.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errInstanceNameInUse

Der angegebene Instanzname wird bereits für diesen Prozess verwendet.

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. Dies kann bei JetCreateInstance passieren, wenn pinstance NULList.

JET_errRunningInOneInstanceMode

Fehler beim Vorgang, weil er nicht verwendet werden kann, wenn die Datenbank-Engine im Einzelinstanzmodus (Windows 2000-Kompatibilitätsmodus) ausgeführt wird.

JET_errTooManyInstances

Eine neue Instanz konnte nicht erstellt werden, da die maximale Anzahl von Instanzen erreicht wurde. Die maximale Anzahl unterstützter Instanzen wird mit jetSetSystemParameter mithilfe von JET_paramMaxInstanceskonfiguriert.

Bei Erfolg wird eine neue Instanz zugeordnet, und der Bezeichner dafür wird zurückgegeben. An diesem Punkt verfügen alle Systemparameter für die Instanz über die Werte der globalen Standardsystemparameter. Sobald eine Instanz zugeordnet wird, muss sie beendet und/oder später freigegeben werden.

Bei einem Fehler wird ein Fehler zurückgegeben, der die Fehlerursache darstellt, und es wird keine Instanz zugeordnet.

Hinweise

Eine -Instanz muss mit einem Aufruf von JetInit initialisiert werden, bevor sie von anderen Instanzen als JetSetSystemParameterverwendet werden kann.

Eine -Instanz wird durch einen Aufruf der JetTerm-Funktion zerstört, auch wenn diese Instanz nie mit JetInitinitialisiert wurde. Die maximale Anzahl von Instanzen, die jederzeit erstellt werden können, wird durch JET_paramMaxInstancesgesteuert, die durch einen Aufruf von JetSetSystemParameterkonfiguriert werden kann. Eine -Instanz ist die Einheit der Wiederherstellbarkeit für die Datenbank-Engine. Sie steuert den Lebenszyklus aller Dateien, die zum Schutz der Integrität der Daten in einem Satz von Datenbankdateien verwendet werden. Zu diesen Dateien gehören die Prüfpunktdatei und die Transaktionsprotokolldateien.

Wenn die Funktion erfolgreich ausgeführt wird, wird die Datenbank-Engine automatisch als Nebeneffekt dieses Aufrufs in den Modus mit mehreren Instanzen geändert. Wenn die Anwendung nur eine Instanz im Prozess zulassen möchte, sollte JetInit verwendet werden, um die Datenbank-Engine im Kompatibilitätsmodus Windows 2000 zu starten.

Falls vorhanden, wird szDisplayName verwendet, um die Instanz an Stellen wie dem Ereignisprotokoll oder gegenüber anderen Aufrufern wie Sicherungsanwendungen (über Funktionen wie JetGetInstanceInfo oder JetOSSnapshotFreeze)zu identifizieren. Wenn der Anzeigename nicht angegeben wird, wird stattdessen der eindeutige szInstanceName verwendet, sofern vorhanden, andernfalls wird eine leere Zeichenfolge zurückgegeben. Wenn für die Engine der Ausführungsmodus nicht festgelegt war, wird sie nach diesem Aufruf auf den Modus mit mehreren Instanzen festgelegt.

Die typische Startsequenz für einen Prozess, der möglicherweise mehrere Jet-Instanzen ausführt, wäre:

Wenn dies die erste Instanz ist, die gestartet wird, gibt es eine Reihe zusätzlicher Schritte, die während dieses Aufrufs ausgeführt werden, um eine grundlegende Systeminitialisierung und -konfiguration vorzunehmen. Eine Reihe dieser Schritte kann zu bestimmten Fehlern führen, die mit JET_errOutOfMemory beginnen, aber auch zu anderen (siehe fehler oben).

Anforderungen

Anforderung Wert

Client

Erfordert Windows Vista oder Windows XP.

Server

Erfordert Windows Server 2008 oder Windows Server 2003.

Header

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Unicode

Implementiert als JetCreateInstanceW (Unicode) und JetCreateInstanceA (ANSI).

Weitere Informationen

Erweiterbare Storage-Engine-Dateien
JET_ERR
JET_INSTANCE
JetCreateInstance2
JetEnableMultiInstance
JetGetInstanceInfo
JetInit
JetInit2
JetOSSnapshotFreeze
JetSetSystemParameter
JetTerm
JetTerm2