JetAttachDatabase2-Funktion
Gilt für: Windows | Windows Server
JetAttachDatabase2-Funktion
Die JetAttachDatabase2-Funktion fügt eine Datenbankdatei zur Verwendung mit einer Datenbank instance an und gibt eine maximale Größe für diese Datenbank an. Um die Datenbank verwenden zu können, muss sie anschließend mit JetOpenDatabase geöffnet werden.
JET_ERR JET_API JetAttachDatabase2(
__in JET_SESID sesid,
__in const tchar* szFilename,
__in const unsigned long cpgDatabaseSizeMax,
__in JET_GRBIT grbit
);
Parameter
sesid
Der Datenbanksitzungskontext, der für den API-Aufruf verwendet wird.
szFilename
Der Name der anzufügenden Datenbank.
cpgDatabaseSizeMax
Die maximale Größe auf Datenbankseiten für die Datenbank. Die Standardgröße der Datenbankseite beträgt 4 KB, die vor dem Erstellen einer Datenbank mithilfe der JetSetSystemParameter-Funktion geändert werden kann.
Das Übergeben von 0 (null) bedeutet, dass von der Datenbank-Engine kein Maximum erzwungen wird.
grbit
Eine Gruppe von Bits, die die Optionen enthalten, die für diesen Aufruf verwendet werden sollen, einschließlich 0 oder mehr der folgenden Optionen:
Wert |
Bedeutung |
---|---|
JET_bitDbDeleteCorruptIndexes |
Wenn JET_paramEnableIndexChecking festgelegt wurde, werden alle Indizes über Unicode-Daten gelöscht. Weitere Details finden Sie im Abschnitt „Anmerkungen“. |
JET_bitDbDeleteUnicodeIndexes |
Alle Indizes über Unicode-Daten werden gelöscht, unabhängig von der Einstellung von JET_paramEnableIndexChecking. Weitere Details finden Sie im Abschnitt „Anmerkungen“. |
JET_bitDbReadOnly |
Verhindert Änderungen an der Datenbank. |
JET_bitDbUpgrade |
Für die zukünftige Verwendung reserviert. |
Rückgabewert
Die Funktion gibt einen der JET_ERR Fehlercodes zurück. Die folgenden werden am häufigsten zurückgegeben. (Eine vollständige Liste der Fehler für diese API finden Sie unter Fehlercodes der erweiterbaren Speicher-Engine.)
Rückgabecode |
Beschreibung |
---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. |
JET_errBackupInProgress |
Das Anfügen einer Datenbank ist während einer Sicherung nicht zulässig. |
JET_errDatabaseFileReadOnly |
Die durch szFilename angegebene Datenbankdatei muss schreibbar sein. Das attribut Read-Only darf nicht festgelegt werden, und der ausgeführte Prozess muss über ausreichende Berechtigungen zum Schreiben in die Datei verfügen. |
JET_errDatabaseInUse |
Die Datenbankdatei wurde bereits von einem anderen Prozess geöffnet. |
JET_errDatabaseInvalidPath |
In szFilename wurde ein ungültiger Pfad angegeben. szFilename muss ungleich NULL sein und auf einen gültigen Pfad verweisen. |
JET_errDatabaseSharingViolation |
Die Datenbankdatei wurde bereits von einer anderen Sitzung angefügt. |
JET_errFileNotFound |
Die in szFilename angegebene Datei ist nicht vorhanden. |
JET_errPrimaryIndexCorrupted |
Es liegt ein Fehler mit dem primären Index vor. Dies kann auf physische Beschädigungen (z. B. Datenträger- oder Speicherbeschädigung) hindeuten. Es kann auch zurückgegeben werden, wenn eine Datenbank, die zuletzt geändert wurde, an ein älteres Betriebssystem angefügt wird, und der primäre Index befindet sich über einer Spalte mit Unicode-Daten. Weitere Informationen zu Indizes für Unicode-Daten finden Sie in den Hinweisen. |
JET_errSecondaryIndexCorrupted |
Bei einem sekundären Index tritt ein Fehler auf. Dies kann auf physische Beschädigungen (z. B. Datenträger- oder Speicherbeschädigung) hindeuten. Es kann auch zurückgegeben werden, wenn eine Datenbank, die zuletzt geändert wurde, an ein älteres Betriebssystem angefügt wird, und ein sekundärer Index befindet sich über einer Spalte mit Unicode-Daten. Weitere Informationen zu Indizes für Unicode-Daten finden Sie in den Hinweisen. Sekundäre Indizes werden vollständig neu erstellt, wenn eine Datenbank mit einem Offline-Hilfsprogramm mit dem folgenden Befehl defragmentiert wird: esentutl -d. |
JET_errTooManyAttachedDatabases |
Pro instance kann nur eine begrenzte Anzahl von Datenbanken angefügt werden. Der Grenzwert beträgt derzeit sieben Datenbanken pro instance. |
JET_wrnDatabaseAttached |
Eine nicht schwerwiegende Warnung, die angibt, dass die Datenbankdatei bereits von dieser Sitzung angefügt wurde. |
Bemerkungen
Die Datenbankdatei wird mithilfe von JetDetachDatabase oder JetDetachDatabase2 getrennt.
Hinweise finden Sie unter JetAttachDatabase .
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 JetAttachDatabase2W (Unicode) und JetAttachDatabase2A (ANSI). |
Weitere Informationen
Erweiterbare Speicher-Engine-Dateien
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetCreateDatabase
JetOpenDatabase
JetSetSystemParameter