JetSetDatabaseSize-Funktion
Gilt für: Windows | Windows Server
JetSetDatabaseSize-Funktion
Die JetSetDatabaseSize-Funktion legt die Größe einer ungeöffneten Datenbankdatei fest.
JET_ERR JET_API JetSetDatabaseSize(
__in JET_SESID sesid,
__in JET_PCSTR szDatabaseName,
__in unsigned long cpg,
__out unsigned long* pcpgReal
);
Parameter
sesid
Gibt den Datenbanksitzungskontext an, der für den API-Aufruf verwendet werden soll.
szDatabaseName
Gibt den Namen der Datenbankdatei an, deren Größe geändert werden soll.
Cpg
Gibt die gewünschte Größe der Datenbank in Seiten an.
pcpgReal
Zeiger auf eine Zahl, die die Größe der Datenbank in Seiten nach dem API-Aufruf empfängt. Wenn der API-Aufruf nicht erfolgreich war, ist der Inhalt von pcpgReal nicht definiert.
Rückgabewert
Diese Funktion gibt den Datentyp JET_ERR mit einem der folgenden Rückgabecodes zurück. Weitere Informationen zu möglichen ESE-Fehlern finden Sie unter Erweiterbare Speichermodulfehler und Fehlerbehandlungsparameter.
Rückgabecode |
Beschreibung |
---|---|
JET_errSuccess |
Der Vorgang wurde erfolgreich abgeschlossen. |
JET_errDatabaseInconsistent |
JET_errDatabaseInconsistent und JET_errDatabaseDirtyShutdown sind derselbe numerische Wert. Die Datenbank, deren Größe angepasst werden soll, muss sich in einem sauber Herunterfahren befinden, der als konsistenter Zustand bezeichnet wird. Eine inkonsistente Datenbank ist nicht beschädigt, erfordert jedoch die Wiedergabe von Protokolldateien. |
JET_errDatabaseInvalidPath |
szDatabaseName darf keine leere Zeichenfolge sein, die nicht NULL ist. |
JET_errDiskFull |
Auf dem Volume ist nicht genügend freier Speicherplatz vorhanden, um den Vergrößerungsvorgang auszuführen. JetSetDatabaseSize kann auch viele dateibezogene Fehler zurückgeben, einschließlich, aber nicht beschränkt auf:
|
JET_errInvalidParameter |
Dieser Fehler kann u. U. zurückgegeben werden, wenn cpg die Mindestdatenbankgröße erfüllt. Die aktuelle Mindestgröße der Datenbank beträgt 256 Seiten. |
JET_errOutOfMemory |
Das System verfügt über wenig Arbeitsspeicherressourcen. |
Bemerkungen
Wenn JetSetDatabaseSize vor dem Einfügen großer Datenmengen aufgerufen wird, wird die Datenbankdatei in einem Vorgang vergrößert. Dies verringert die Wahrscheinlichkeit, dass die Datenbankdatei auf Dateisystemebene fragmentiert wird, und verringert auch die Anzahl der Anwachsens der Datenbankdatei. Das einmalige Vergrößern der Datenbankdatei kann schneller sein, als sie mehrmals zu vergrößern.
Derzeit wird nur das Vergrößern der Datei unterstützt. Um eine Datei zu verkleinern, verwenden Sie die Defragmentierungsfunktion des esentutl.exe Hilfsprogramm.
Wenn cpg kleiner als die aktuelle Größe der Datenbank ist, wird der Vorgang ignoriert. Wenn cpg kleiner als die Mindestdatenbankgröße (derzeit 256 Seiten) ist, wird JET_errInvalidParameter zurückgegeben.
Informationen zum Festlegen der Größe einer geöffneten Datenbank finden Sie unter JetGrowDatabase.
Die Dateigröße entspricht möglicherweise nicht der Anzahl der in pcpgReal zurückgegebenen Seiten. Es gibt zwei zusätzliche reservierte Seiten, die in pcpgReal möglicherweise nicht gezählt werden.
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 JetSetDatabaseSizeW (Unicode) und JetSetDatabaseSizeA (ANSI). |
Weitere Informationen
JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetGrowDatabase