Partage via


SQLSetDescRec

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)

Cette rubrique décrit les fonctionnalités SQLSetDescRec spécifiques à SQL Server Native Client.

SQLSetDescRec et paramètres table

SQLSetDescRec peut être utilisé pour définir des champs de descripteur pour les paramètres table et les colonnes de paramètres table. Les colonnes de paramètre table sont disponibles uniquement lorsque le champ d'en-tête de descripteur SQL_SOPT_SS_PARAM_FOCUS est défini sur l'ordinal d'un enregistrement pour lequel SQL_DESC_TYPE a la valeur SQL_SS_TABLE. Pour plus d'informations sur SQL_SOPT_SS_PARAM_FOCUS, consultez SQLSetStmtAttr.

Le tableau suivant décrit le mappage entre les paramètres et les champs de descripteur.

Paramètre Attribut associé pour les types de paramètres non table, y compris les colonnes de paramètres table Attribut associé pour les paramètres table
Type SQL_DESC_TYPE SQL_SS_TABLE
Sous-type Ignoré Pour les enregistrements de type SQL_DATETIME ou SQL_INTERVAL, affectez la valeur SQL_DESC_DATETIME_INTERVAL_CODE.
Durée SQL_DESC_OCTET_LENGTH Longueur du nom du type de paramètre table. Cela peut être SQL_NTS si le nom de type se termine par une valeur NULL ou zéro si le nom de type de paramètre table n'est pas requis.
Précision SQL_DESC_PRECISION SQL_DESC_ARRAY_SIZE
Mise à l’échelle SQL_DESC_SCALE Inutilisé. Ce paramètre doit être nul.
DataPtr SQL_DESC_DATA_PTR dans APD SQL_CA_SS_TYPE_NAME

Ce paramètre est facultatif pour les appels de procédure stockée et NULL peut être spécifié s'il n'est pas requis. Ce paramètre doit être spécifié pour les instructions SQL qui ne sont pas des appels de procédure.

DataPtr sert également de valeur unique que l’application peut utiliser pour identifier ce paramètre table lorsque la liaison de ligne de variable est utilisée.
StringLengthPtr SQL_DESC_OCTET_LENGTH_PTR SQL_DESC_OCTET_LENGTH_PTR

Pour un paramètre table, il s'agit du nombre de lignes à transférer ou SQL_DATA_AT_EXEC. Il s’agit d’un pointeur vers une valeur qui contient le nombre de lignes à transférer avec SQLExecDirect.
IndicatorPtr SQL_DESC_INDICATOR_PTR SQL_DESC_INDICATOR_PTR

Pour plus d’informations sur les paramètres table, consultez Paramètres table (ODBC) .

Prise en charge de SQLSetDescRec pour les fonctionnalités Date et Heure améliorées

Les valeurs autorisées pour les types date/heure sont les suivantes :

Attribut Type Sous-type Durée Précision Mise à l’échelle
DATETIME SQL_DATETIME SQL_CODE_TIMESTAMP 4 3 3
smalldatetime SQL_SQL_DATETIME SQL_CODE_TIMESTAMP 8 0 0
date SQL_DATETIME SQL_CODE_DATE 6 0 0
time SQL_SS_TIME2 0 10 0..7 0..7
datetime2 SQL_DATETIME SQL_CODE_TIMESTAMP 16 0..7 0..7
datetimeoffset SQL_SS_TIMESTAMPOFFSET 0 20 0..7 0..7

Pour plus d’informations, consultez Améliorations de date et d’heure (ODBC).

Prise en charge SQLSetDescRec pour les types CLR volumineux définis par l'utilisateur

SQLSetDescRec prend en charge les types clR définis par l’utilisateur (UDT). Pour plus d’informations, consultez Les types CLR définis par l’utilisateur (ODBC) volumineux.

Voir aussi

SQLSetDescRec
Détails de l’implémentation d’API ODBC