Fonction JetSetSystemParameter

S’applique à : Windows | Windows Server

Fonction JetSetSystemParameter

La fonction JetSetSystemParameter permet de définir les nombreux paramètres de configuration du moteur de base de données.

    JET_ERR JET_API JetSetSystemParameter(
      __in_out_opt  JET_INSTANCE* pinstance,
      __in          JET_SESID sesid,
      __in          unsigned long paramid,
      __in          JET_API_PTR lParam,
      __in_opt      JET_PCSTR szParam
    );

Paramètres

pinstance

Spécifie le instance à utiliser pour cet appel.

Windows 2000 : Pour Windows 2000, ce paramètre est ignoré et doit toujours être NULL.

Windows XP : Pour Windows XP et les versions ultérieures, ce paramètre est légèrement surchargé. Si le moteur fonctionne en mode hérité (mode de compatibilité Windows 2000) où une seule instance est prise en charge, ce paramètre peut être NULL ou contenir les instance réelles retournées par JetInit. Dans les deux cas, tous les paramètres système sont lus à partir de ce instance. Si le moteur fonctionne en mode multi-instance, ce paramètre peut être NULL ou un pointeur vers un instance créé à l’aide de JetInit ou JetCreateIndex. Lorsque ce paramètre a la valeur NULL , le paramètre système global (ou par défaut) est lu. Lorsque ce paramètre est un instance le paramètre système de cette instance est lu.

Même s’il s’agit techniquement d’un paramètre out, cette API ne modifie jamais le contenu de la mémoire tampon fournie.

sesid

Spécifie la session à utiliser pour cet appel.

Quand elle est spécifiée, la instance spécifiée est ignorée et les instance associées à la session sont utilisées.

paramid

ID du paramètre système qui sera défini. Pour obtenir la liste complète des paramètres système et de leurs propriétés, consultez Paramètres système.

lParam

Fournit la valeur à définir pour le paramètre système sélectionné si ce paramètre système est d’un type entier.

szParam

Fournit la valeur du paramètre système sélectionné si ce paramètre système est de type chaîne.

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.

Windows Vista : Sur Windows Vista et les versions ultérieures, la réussite peut être retournée sans modification de la valeur du paramètre système. Pour plus d’informations, consultez le paramètre système JET_paramEnableAdvanced dans la rubrique Meta Parameters .

JET_errAlreadyInitialized

Le instance a été initialisé à l’aide d’un appel à JetInit et cette opération ne peut pas être effectuée en conséquence. Cela peut se produire pour JetSetSystemParameter lorsqu’une tentative de configuration d’un paramètre système après une modification de sa valeur ne peut pas affecter l’état du moteur de base de données.

JET_errClientRequestToStopJetService

Il n’est pas possible d’effectuer l’opération, car toutes les activités sur le instance associée à la session ont cessé à la suite d’un appel à JetStopService.

JET_errIndexTuplesInvalidLimits

Les paramètres d’index de tuple spécifiés n’étaient pas conformes. Cette erreur peut être retournée par JetSetSystemParameter uniquement lorsque JET_paramIndexTuplesLengthMin, JET_paramIndexTuplesLengthMax ou JET_paramIndexTuplesToIndexMax sur une valeur non conforme.

Windows XP et Windows Server 2003 : Cela ne peut se produire que sur Windows XP et Windows Server 2003.

JET_errInitInProgress

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session est en cours d’initialisation.

JET_errInstanceUnavailable

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session a rencontré une erreur irrécupérable qui nécessite que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données.

Windows XP : Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures.

JET_errInvalidParameter

L’un des paramètres fournis contenait une valeur inattendue ou contenait une valeur qui n’était pas pertinente lorsqu’elle était combinée avec la valeur d’un autre paramètre. Cela peut se produire pour JetSetSystemParameter dans les cas suivants :

  • L’ID de paramètre système spécifié n’est pas valide ou n’est pas pris en charge.

  • Une tentative a été effectuée pour définir un paramètre système à valeur de chaîne avec une chaîne dont la longueur était en dehors de la plage légale pour le paramètre.

  • Une tentative a été effectuée pour définir un paramètre système à valeur de chaîne avec un chemin d’accès de fichier où la longueur de sa représentation de chemin d’accès absolu était en dehors de la plage légale pour ce paramètre.

    Windows Vista : Cela ne peut se produire que sur Windows Vista et les versions ultérieures.

  • Une tentative a été effectuée pour définir un paramètre système à valeur entière avec un entier qui se trouvait en dehors de la plage légale du paramètre.

  • Une tentative a été effectuée pour définir JET_paramUnicodeIndexDefault avec un pointeur de JET_UNICODEINDEXNULL, un LCID non valide ou un ensemble non pris en charge d’indicateurs LCMapString.

    Windows Vista : Cela ne peut se produire que sur Windows Vista et les versions ultérieures.

  • Impossible de définir le paramètre système spécifié, car il est en lecture seule.

  • Une tentative de définition d’un paramètre système a été effectuée après l’appel de JetInit, le moteur de base de données est en mode instance unique et aucune session n’a été spécifiée.

    Windows XP et Windows Server 2003 : Cela ne peut se produire que sur Windows XP et Windows Server 2003.

  • Le paramètre système spécifié est global uniquement et une tentative a été effectuée pour définir une valeur spécifique instance pour ce paramètre système.

    Windows XP et Windows Server 2003 : Cela ne peut se produire que sur Windows XP et Windows Server 2003.

  • Le paramètre système spécifié est par instance uniquement et une tentative a été effectuée pour définir la valeur globale de ce paramètre système.

    Windows XP et Windows Server 2003 : Cela ne peut se produire que sur Windows XP et Windows Server 2003.

JET_errInvalidPath

Le chemin du système de fichiers spécifié n’était pas valide. Cette erreur peut être retournée par JetSetSystemParameter uniquement lors de la définition de paramètres système qui représentent des chemins d’accès au système de fichiers. Par exemple, JET_paramSystemPath peuvent retourner cette erreur.

JET_errNotInitialized

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session n’a pas encore été initialisé.

JET_errRestoreInProgress

Il n’est pas possible d’effectuer l’opération, car une opération de restauration est en cours sur le instance associé à la session.

JET_errTermInProgress

Il n’est pas possible d’effectuer l’opération, car le instance associé à la session est en cours d’arrêt.

JET_errInvalidSesid

Le handle de session n’est pas valide ou fait référence à une session fermée.

Cette erreur n’est pas retournée dans toutes les circonstances. Les descripteurs sont validés sur la base du meilleur effort uniquement.

JET_errInvalidInstance

Le handle instance n’est pas valide ou fait référence à un instance qui a été arrêté.

Cette erreur n’est pas retournée dans toutes les circonstances. Les descripteurs sont validés sur la base du meilleur effort uniquement.

Windows Vista : Cette erreur ne sera retournée que par Windows Vista et les versions ultérieures.

En cas de réussite, le paramètre du paramètre système est défini sur la valeur fournie.

En cas d’échec, le paramètre du paramètre système reste inchangé.

Notes

JetSetSystemParameter ne valide pas le paramètre choisi pour chaque paramètre système. Il faut veiller à ne pas s’appuyer sur cette validation pour appliquer de bons paramètres. Prêtez une attention particulière à la description de chaque paramètre système et suivez ces instructions pour obtenir un paramètre système correct.

Il existe un ensemble de paramètres système qui doivent toujours être définis pour garantir que le moteur de base de données fonctionne comme prévu. Plus précisément, tous les paramètres système qui affectent la disposition physique des fichiers utilisés par le moteur de base de données doivent toujours être définis. Pour plus d’informations, consultez Paramètres système.

Chaque paramètre système a une valeur par défaut. Ces valeurs par défaut ont évolué au fil du temps et sont assez arbitraires. Il est vivement recommandé qu’une application évalue toutes les valeurs par défaut pour s’assurer qu’elles sont appropriées. Si elles ne sont pas appropriées, elles doivent être configurées par l’application. Cela est important, car la plupart de ces paramètres peuvent avoir un impact considérable sur la fiabilité, les performances et l’utilisation des ressources du moteur de base de données.

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 JetSetSystemParameterW (Unicode) et JetSetSystemParameterA (ANSI).

Voir aussi

JET_API_PTR
JET_ERR
JET_INSTANCE
JET_SESID
JetCreateInstance
JetGetSystemParameter
JetInit
Paramètres système