Partager via


Fonction JetSetColumnDefaultValue

S’applique à : Windows | Windows Server

Fonction JetSetColumnDefaultValue

La fonction JetSetColumnDefaultValue peut être utilisée pour modifier la valeur par défaut d’une colonne existante.

    JET_ERR JET_API JetSetColumnDefaultValue(
      __in          JET_SESID sesid,
      __in          JET_DBID dbid,
      __in          JET_PCSTR szTableName,
      __in          JET_PCSTR szColumnName,
      __in          const void* pvData,
      __in          const unsigned long cbData,
      __in          const JET_GRBIT grbit
    );

Paramètres

sesid

Session à utiliser pour cet appel.

dbid

Base de données à utiliser pour cet appel.

szTableName

Nom de la table contenant la colonne qui sera affectée.

szColumnName

Nom de la colonne dont la valeur par défaut sera modifiée.

pvData

Mémoire tampon d’entrée contenant la nouvelle valeur par défaut.

cbData

Taille de la mémoire tampon d’entrée contenant la nouvelle valeur par défaut.

grbit

Réservé pour un usage futur.

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_errClientRequestToStopJetService

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

JET_errColumnIllegalNull

Identique à JET_errNullInvalid.

JET_errColumnInUse

Cette colonne spécifiée est actuellement utilisée par un index.

JetSetColumnDefaultValue ne peut pas modifier la valeur par défaut d’une colonne référencée dans la définition d’un index. Cela est dû au fait que cela peut modifier le contenu de l’index.

JET_errColumnNotFound

Cette colonne spécifiée n’existe pas pour cette table.

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 exige que l’accès à toutes les données soit révoqué pour protéger l’intégrité de ces données. Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures.

JET_errInvalidDatabaseId

L’ID de base de données spécifié n’était pas valide.

JET_errInvalidName

L’un des noms d’objets spécifiés n’était pas valide. Tous les noms d’objets doivent être conformes au même ensemble de règles. Ces règles sont les suivantes :

  • Les noms d’objets doivent être composés de caractères ASCII.

  • Les noms d’objets doivent comporter au moins un caractère.

  • Les noms d’objets ne peuvent pas dépasser JET_cbNameMost (64) caractères.

  • Les noms d’objets ne peuvent pas commencer par un espace.

  • Les noms d’objets ne peuvent pas contenir de caractères de contrôle ASCII (0x00 via 0x1F).

  • Les noms d’objets ne peuvent pas contenir de point d’exclamation (!), de point (.), de crochet gauche ([) ou de crochet droit (]).

  • Une fois validée, seule la partie de la chaîne jusqu’au premier espace (le cas échéant) sera utilisée pour le nom de l’objet. Cela signifie que les noms d’objets ne peuvent pas non plus contenir d’espace.

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_errNullInvalid

La colonne n’a pas pu être définie sur NULL. Cela se produit pour JetSetColumnDefaultValue lorsque :

  • cbData est égal à zéro.

  • pvData a la valeur NULL.

Par conséquent, il n’est pas possible de définir la valeur par défaut d’une colonne (retour) sur NULL ou sur une valeur de longueur zéro.

JET_errObjectNotFound

Cette table spécifiée n’existe pas pour cette base de données.

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_errSessionSharingViolation

La même session ne peut pas être utilisée pour plusieurs threads en même temps. Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures.

JET_errTableInUse

Cette table spécifiée est utilisée par une autre session.

JetSetColumnDefaultValue nécessite un accès exclusif à une table afin de modifier la valeur par défaut de la colonne pour les versions antérieures à Windows Server 2003.

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_errTransReadOnly

Il n’est pas possible de tenter une mise à jour dans l’étendue d’une transaction en lecture seule. Une transaction en lecture seule est une transaction qui a été démarrée à l’aide d’un appel à JetBeginTransaction2 avec JET_bitTransactionReadOnly. Cette erreur sera retournée uniquement par Windows XP et les versions ultérieures.

JET_errWriteConflict

Une autre session a précédemment verrouillé l’enregistrement pour mise à jour. La mise à jour tentée par cette session échoue.

En cas de réussite, la valeur par défaut de la colonne spécifiée dans la table donnée dans la base de données donnée est définitivement remplacée par la nouvelle valeur par défaut.

En cas d’échec, aucune modification de l’état de la base de données ne se produit.

Notes

Il n’est pas possible de modifier la valeur par défaut d’une colonne dans une table de modèle.

Le moteur de base de données tronque en mode silencieux la valeur par défaut d’une colonne à 255 octets pour le texte long et les colonnes binaires longues.

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 JetSetColumnDefaultValueW (Unicode) et JetSetColumnDefaultValueA (ANSI).

Voir aussi

JET_DBID
JET_ERR
JET_GRBIT
JET_SESID
JetBeginTransaction2
JetStopService