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