JetCreateInstance-Funktion
Letzte Änderung: Freitag, 27. Februar 2015
Gilt für: Windows | Windows Server
JetCreateInstance-Funktion
Die Funktion JetCreateInstance reserviert eine neue Instanz des Datenbankmoduls für die Verwendung in einem einzigen Schritt.
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
Den Ausgabepuffer, der die neu erstellte Instanz empfängt.
szInstanceName
Eine eindeutige Zeichenfolgenbezeichner für die Instanz erstellt werden soll. Diese Zeichenfolge muss innerhalb einer bestimmten Prozess Hosten der Datenbank-Engine eindeutig sein.
Hinweis Ein NULL-Wert wird als eine gültige Zeichenfolgebezeichner für eine Instanz behandelt. Nur eine einzige Instanz möglicherweise einen Zeichenfolgebezeichner NULL.
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_errInstanceNameInUse |
Der angegebene Instanzname wird bereits verwendet für diesen Prozess. |
JET_errInvalidParameter |
Einer der bereitgestellten Parameter einen unerwarteten Wert oder oder enthalten ein Werts, das nicht mit dem Wert eines anderen Parameters kombiniert keinen Sinn. Dies kann für JetCreateInstance auftreten, wenn PinstanceNULList. |
JET_errRunningInOneInstanceMode |
Der Vorgang fehlgeschlagen ist, da es kann nicht verwendet werden, wenn die Datenbank-Engine in Einzelinstanz-Modus (Windows 2000-Kompatibilitätsmodus) ausgeführt wird. |
JET_errTooManyInstances |
Eine neue Instanz konnte nicht erstellt werden, weil die maximale Anzahl von Instanzen erreicht wurde. Die maximale Anzahl von unterstützten Instanzen wird mithilfe von JetSetSystemParameter mit JET_paramMaxInstanceskonfiguriert. |
Eine neue Instanz zugeteilt Erfolg und der Bezeichner für die er zurückgegeben wird. Zu diesem Zeitpunkt müssen alle Systemparameter für die Instanz der Werte der Parameter globale Standardeinstellung System. Nachdem eine Instanz zugeordnet wird, muss sie beendet oder höher auf freigegeben werden.
Bei einem Fehler ein Fehler, die die Ursache des Fehlers darstellt zurückgegeben wird, und es wird keine Instanz zugeordnet werden.
Anmerkungen
Bevor sie durch einen anderen Wert als JetSetSystemParameterverwendet werden kann, muss eine Instanz mit einem Aufruf JetInit initialisiert werden.
Eine Instanz wird durch einen Aufruf der Funktion JetTerm ist gelöscht, auch wenn diese Instanz mit JetInitniemals initialisiert wurde. Die maximale Anzahl der Instanzen, die jeweils erstellt werden kann, wird durch JET_paramMaxInstances, gesteuert, das durch einen Aufruf von JetSetSystemParameterkonfiguriert werden können. Eine Instanz ist die Maßeinheit für die Datenbank-Engine Wiederherstellbarkeit. Es steuert den Lebenszyklus aller Dateien verwendet, um die Integrität der Daten in einem Satz von Datenbankdateien zu schützen. Diese Dateien enthalten die Prüfpunktdatei und die Transaktionsprotokolldateien.
Wenn die Funktion erfolgreich ist, wird die Datenbank-Engine automatisch in den Modus mit mehreren Instanzen als Seite Auswirkungen dieses Anrufs geändert werden. Wenn die Anwendung gewünscht, dass nur eine Instanz des Prozesses zulassen sollte JetInit So starten Sie die Datenbank-Engine in Windows 2000-Kompatibilitätsmodus verwendet werden.
Falls vorhanden, wird die SzDisplayName zum Identifizieren der Instanz an Orten wie Ereignisprotokoll oder auf andere Aufrufer wie backup-Anwendungen (über Funktionen wie JetGetInstanceInfo oder JetOSSnapshotFreeze) verwendet werden. Ist der Anzeigename nicht bereitgestellt, die eindeutige SzInstanceName stattdessen gegebenenfalls verwendet wird, wird andernfalls eine leere Zeichenfolge zurückgegeben werden. Wenn das Modul nicht festgelegt werden, nach diesem Aufruf Ausführungsmodus wird es in den Modus mit mehreren Instanzen festgelegt.
Typische Startsequenz für einen potenziell ausgeführten mehrere Instanzen von Jet Prozess wäre:
Ein Aufruf von JetCreateInstance2 die reservieren und nennen Sie die Instanz.
Mehrere Aufrufe von JetSetSystemParameter für diese Instanz, um anderen Systemparameter festlegen. Beachten Sie, dass einige Systemparameter müssen eindeutig für jede Instanz (wie JET_paramSystemPath oder JET_paramLogFilePath) werden am wahrscheinlich eine jeder dieser festlegen muss.
Starten Sie die Instanz mithilfe von JetInit oder JetInit2. Um beenden und/oder eine Instanz frei, JetTerm ist, JetTerm2 verwendet werden muss.
Ist dies die erste Instanz gestartet werden, gibt es eine Anzahl von zusätzlichen Schritte aus, die ausgeführt wird, während dieses Aufrufs, um grundlegende System Initialisierungs- und Konfiguration vornehmen. Einige dieser Schritte möglicherweise bestimmte Fehler beginnend mit anderen JET_errOutOfMemory jedoch auch (siehe oben genannten Fehler).
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 JetCreateInstanceW (Unicode) und JetCreateInstanceA (ANSI). |
Siehe auch
Extensible Storage Engine Dateien
JET_ERR
JET_INSTANCE
JetCreateInstance2
JetEnableMultiInstance
JetGetInstanceInfo
JetInit
JetInit2
JetOSSnapshotFreeze
JetSetSystemParameter
JetTerm ist
JetTerm2