Fonction JetSetDatabaseSize

S’applique à : Windows | Windows Server

Fonction JetSetDatabaseSize

La fonction JetSetDatabaseSize définit la taille d’un fichier de base de données non ouvert.

    JET_ERR JET_API JetSetDatabaseSize(
      __in          JET_SESID sesid,
      __in          JET_PCSTR szDatabaseName,
      __in          unsigned long cpg,
      __out         unsigned long* pcpgReal
    );

Paramètres

sesid

Identifie le contexte de session de base de données à utiliser pour l’appel d’API.

szDatabaseName

Identifie le nom du fichier de base de données dont la taille doit être modifiée.

Cpg

Spécifie la taille souhaitée de la base de données, en pages.

pcpgReal

Pointeur vers un nombre qui reçoit la taille de la base de données, en pages, après l’appel d’API. Si l’appel d’API a échoué, le contenu de pcpgReal n’est pas défini.

Valeur renvoyée

Cette fonction retourne le type de données JET_ERR avec l’un des codes de retour suivants. Pour plus d’informations sur les erreurs ESE possibles, consultez Erreurs du moteur de stockage extensible et Paramètres de gestion des erreurs.

Code de retour

Description

JET_errSuccess

L’opération s’est terminée avec succès.

JET_errDatabaseInconsistent
JET_errDatabaseDirtyShutdown

JET_errDatabaseInconsistent et JET_errDatabaseDirtyShutdown ont la même valeur numérique. La base de données dont la taille doit être ajustée doit être dans un arrêt propre, appelé état cohérent. Une base de données incohérente n’est pas endommagée, mais elle nécessite la relecture des fichiers journaux.

JET_errDatabaseInvalidPath

szDatabaseName ne doit pas être une chaîne vide et non NULL.

JET_errDiskFull

L’espace libre sur le volume est insuffisant pour effectuer l’opération de croissance. JetSetDatabaseSize peut également retourner de nombreuses erreurs liées aux fichiers, notamment , mais sans s’y limiter :

  • JET_errDiskIO

  • JET_errFileNotFound

  • JET_errInvalidPath

  • JET_errFileAccessDenied

  • JET_errOutOfFileHandles

JET_errInvalidParameter

L’une des raisons pour lesquelles cette erreur peut être retournée est si cpg répond à la taille minimale de la base de données. La taille minimale actuelle de la base de données est de 256 pages.

JET_errOutOfMemory

Le système manque de ressources de mémoire.

Notes

Si JetSetDatabaseSize est appelé avant l’insertion de grandes quantités de données, le fichier de base de données est développé en une seule opération. Cela réduit la probabilité que le fichier de base de données soit fragmenté au niveau du système de fichiers, ainsi que le nombre de fois où le fichier de base de données doit être augmenté. Augmenter le fichier de base de données une fois peut être plus rapide que plusieurs fois.

Seule la croissance du fichier est actuellement prise en charge. Pour réduire un fichier, utilisez la fonctionnalité de défragmentation du programme utilitaire esentutl.exe.

Si cpg est inférieur à la taille actuelle de la base de données, l’opération est ignorée. Si cpg est inférieur à la taille minimale de la base de données (actuellement 256 pages), il retourne JET_errInvalidParameter.

Pour définir la taille d’une base de données ouverte, consultez JetGrowDatabase.

La taille du fichier peut ne pas correspondre au nombre de pages retournées dans pcpgReal. Il existe deux pages réservées supplémentaires qui peuvent ne pas être comptées dans pcpgReal.

Spécifications

Condition requise Valeur

Client

Nécessite Windows Vista, Windows XP ou Windows 2000 Professionnel.

Serveur

Nécessite Windows Server 2008, Windows Server 2003 ou Windows 2000 Server.

En-tête

Déclaré dans Esent.h.

Bibliothèque

Utilisez ESENT.lib.

DLL

Nécessite ESENT.dll.

Unicode

Implémenté en tant que JetSetDatabaseSizeW (Unicode) et JetSetDatabaseSizeA (ANSI).

Voir aussi

JET_ERR
JET_GRBIT
JET_SESID
JET_TABLEID
JET_OBJECTINFO
JET_OBJECTLIST
JetGrowDatabase