JetCreateDatabase-Funktion

Gilt für: Windows | Windows Server

JetCreateDatabase-Funktion

Die JetCreateDatabase-Funktion erstellt und fügt eine Datenbankdatei an, die mit dem ESE-Datenbankmodul verwendet werden soll. Das Aufrufen von JetCreateDatabase2 mit cpgDatabaseSizeMax-Satz auf Null ist identisch mit dem Aufrufen von JetCreateDatabase mit szConnect set auf NULL. Derzeit können bis zu sieben Datenbanken pro Instanz erstellt werden.

    JET_ERR JET_API JetCreateDatabase(
      __in          JET_SESID sesid,
      __in          JET_PCSTR szFilename,
      __in_opt      JET_PCSTR szConnect,
      __out         JET_DBID* pdbid,
      __in          JET_GRBIT grbit
    );

Parameter

sesid

Der Datenbanksitzungskontext, der für den API-Aufruf verwendet werden soll.

szFilename

Der Name der zu erstellenden Datenbank.

szConnect

Für die zukünftige Verwendung reserviert. Auf NULL festgelegt.

pdbid

Zeiger auf einen Puffer, der auf einem erfolgreichen Aufruf den Bezeichner der Datenbank enthält. Bei Fehler ist der Wert nicht definiert.

grbit

Eine Gruppe von Bits, die null oder mehr der folgenden Optionen angeben.

Wert

Bedeutung

JET_bitDbOverwriteExisting

Wenn JetCreateDatabase aufgerufen wird und die Datenbank bereits vorhanden ist, schlägt der API-Aufruf fehl, und die ursprüngliche Datenbank wird nicht überschrieben. JET_bitDbOverwriteExisting ändert dieses Verhalten, und die alte Datenbank wird mit einer neuen überschrieben. Windows XP und höher.

JET_bitDbRecoveryOff

JET_bitDbRecoveryOff die Protokollierung deaktiviert. Durch Das Festlegen dieses Bits verliert die Möglichkeit, Protokolldateien wiederzugeben und die Datenbank nach einem katastrophalen Ereignis auf einen konsistenten nutzbaren Zustand wiederherzustellen.

JET_bitDbShadowingOff

Wenn Sie JET_bitDbShadowingOff festlegen, wird die Duplizierung einiger interner Datenbankstrukturen (Schattenung) deaktiviert. Die Duplizierung dieser Strukturen erfolgt für die Resilienz, sodass die Einstellung JET_bitDbShadowingOff diese Resilienz entfernt.

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 Modulfehler und Fehlerbehandlungsparameter.

Rückgabecode

Beschreibung

JET_errSuccess

Der Vorgang wurde erfolgreich abgeschlossen.

JET_errDatabaseDuplicate

Die Datenbank mit dem Namen " szFilename " ist bereits vorhanden. Wenn dieser Fehler zurückgegeben wird, wird die Datenbank nicht angefügt.

JET_errDatabaseInUse

Kann zurückgegeben werden, wenn der exklusive Zugriff angefordert wurde, aber nicht gewährt werden konnte oder eine andere Sitzung bereits die Datenbank exklusiv geöffnet hat.

JET_errDatabaseInvalidPages

Wird zurückgegeben, wenn cpgDatabaseSizeMax größer ist als die maximale Anzahl von Seiten, die in einer Datenbank zulässig sind. Das aktuelle Maximum ist 2147483646 (0x7ffffffe).

JET_errDatabaseInvalidPath

Ein ungültiger Pfad wurde in szFilename angegeben. szFilename muss nicht NULL sein. Standardmäßig muss szFilename auf ein Verzeichnis verweisen, das vorhanden ist. Der Pfad wird erstellt, wenn JET_paramCreatePathIfNotExist festgelegt ist (Siehe JetSetSystemParameter).

JET_errDatabaseLocked

Gibt an, dass eine andere Sitzung die Datenbank bereits exklusiv geöffnet hat (mit JET_bitDbExclusive).

JET_errDatabaseNotFound

Die Datenbank wurde nicht zuvor angefügt (Siehe JetAttachDatabase).

JET_errDatabaseSharingViolation

Die Datenbankdatei wurde bereits von einer anderen Sitzung angefügt.

JET_errInTransaction

Es wurde versucht, eine Datenbank während einer Transaktion zu erstellen.

JET_errInvalidDatabase

Es wurde versucht, eine Datei zu öffnen, die keine gültige Datenbankdatei ist.

JET_errOneDatabasePerSession

Es wurde versucht, mehr als eine Datenbank zu öffnen, und JET_paramOneDatabasePerSession festgelegt wurde. Siehe Datenbankparameter.

JET_errOutOfMemory

Der Vorgang konnte nicht zugewiesen werden, da der Speicher nicht zugewiesen werden konnte.

JET_errTooManyAttachedDatabases

Nur eine endliche Anzahl der Datenbank kann pro Instanz angefügt werden. Der Grenzwert beträgt derzeit sieben Datenbanken pro Instanz.

JET_wrnDatabaseAttached

Eine nichtfatale Warnung, die angibt, dass die Datenbankdatei bereits von dieser Sitzung angefügt wurde.

JET_wrnFileOpenReadOnly

JET_wrnFileOpenReadOnly gibt an, dass die Datei schreibgeschützt wurde, aber JetCreateDatabase hat JET_bitDbReadOnly nicht übergeben. Die Datenbank wird weiterhin mit schreibgeschütztem Zugriff geöffnet.

Bemerkungen

Wenn die in szFilename angegebene Datenbank vorhanden ist und JET_bitDbOverwriteExisting nicht übergeben wurde, schlägt der API-Aufruf fehl. Wenn JET_bitDbOverwriteExisting übergeben wurde, wird die alte Datenbankdatei zuerst gelöscht.

Wenn die API eine Datenbankdatei erstellt und dann auf einen anderen Fehler trifft, wird die Datei gelöscht und gelöscht.

JetCreateDatabase öffnet implizit die Datenbank. Es ist nicht unbedingt notwendig, JetOpenDatabase später aufzurufen.

Requirements (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 JetCreateDatabaseW (Unicode) und JetCreateDatabaseA (ANSI).

Weitere Informationen

Erweiterbare Storage Moduldateien
JET_ERR
JET_DBID
JET_GRBIT
JET_SESID
JetAttachDatabase
JetCloseDatabase
JetCreateDatabase2
JetOpenDatabase
JetSetSystemParameter
Systemparameter