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_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_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