JetAttachDatabase2-Funktion

Gilt für: Windows | Windows Server

JetAttachDatabase2-Funktion

Die JetAttachDatabase2-Funktion fügt eine Datenbankdatei für die Verwendung mit einer Datenbankinstanz an und gibt eine maximale Größe für diese Datenbank an. Um die Datenbank verwenden zu können, muss sie anschließend mit JetOpenDatabasegeö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ügende Datenbank.

cpgDatabaseSizeMax

Die maximale Größe für die Datenbank auf Datenbankseiten. Die Standardgröße der Datenbankseite beträgt 4 Kilobyte, 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 für diesen Aufruf zu verwendenden Optionen enthalten, die null oder mehr der folgenden Elemente enthalten:

Wert

Bedeutung

JET_bitDbDeleteCorruptIndexes

Wenn JET_paramEnableIndexChecking festgelegt wurde, werden alle Indizes für Unicode-Daten gelöscht. Weitere Details finden Sie im Abschnitt „Anmerkungen“.

JET_bitDbDeleteUnicodeIndexes

Alle Indizes für 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 Extensible Storage Engine Error Codes.)

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 Read-Only-Attribut darf nicht festgelegt werden, und der ausgeführte Prozess muss über ausreichende Berechtigungen zum Schreiben in die Datei verfügen.

JET_errDatabaseInUse

Die Datenbankdatei wird bereits von einem anderen Prozess geöffnet.

JET_errDatabaseInvalidPath

In szFilenamewurde 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

Beim primären Index tritt ein Fehler auf. Dies kann auf physische Beschädigungen (z. B. Datenträger- oder Speicherbeschädigung) hindekoren sein. Sie kann auch zurückgegeben werden, wenn eine Zuletzt geänderte Datenbank unter einem älteren Betriebssystem angefügt wird und sich der primäre Index über einer Spalte mit Unicode-Daten befindet. 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) hindekoren sein. Sie kann auch zurückgegeben werden, wenn eine Zuletzt geänderte Datenbank unter einem älteren Betriebssystem angefügt wird und sich ein sekundärer Index über einer Spalte mit Unicode-Daten befindet. Weitere Informationen zu Indizes für Unicode-Daten finden Sie in den Hinweisen. Sekundäre Indizes werden vollständig neu erstellt, wenn eine Datenbank mithilfe des folgenden Befehls mit einem Offlinehilfsprogramm defragmentiert wird: esentutl -d.

JET_errTooManyAttachedDatabases

Pro Instanz kann nur eine begrenzte Anzahl von Datenbanken angefügt werden. Der Grenzwert beträgt derzeit sieben Datenbanken pro Instanz.

JET_wrnDatabaseAttached

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

Bemerkungen

Die Datenbankdatei wird mit JetDetachDatabase oder JetDetachDatabase2getrennt.

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.

Header

Deklariert in Esent.h.

Bibliothek

Verwenden Sie ESENT.lib.

DLL

Erfordert ESENT.dll.

Unicode

Wird als JetAttachDatabase2W (Unicode) und JetAttachDatabase2A (ANSI) implementiert.

Weitere Informationen

Erweiterbare Storage-Engine-Dateien
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JetAttachDatabase
JetCreateDatabase
JetOpenDatabase
JetSetSystemParameter