SQLDescribeCol

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Pour les instructions exécutées, le pilote ODBC SQL Server Native Client n’a pas besoin d’interroger le serveur pour décrire les colonnes d’un jeu de résultats. Dans ce cas, SQLDescribeCol n’entraîne pas d’aller-retour de serveur. Comme SQLColAttribute et SQLNumResultCols, l’appel de SQLDescribeCol sur les instructions préparées mais non exécutées génère un aller-retour de serveur.

Lorsqu’une instruction Transact-SQL ou un lot d’instructions retourne plusieurs jeux de lignes de résultats, il est possible qu’une colonne, référencée par ordinal, provient d’une table distincte ou fasse référence à une colonne entièrement différente dans le jeu de résultats. SQLDescribeCol doit être appelé pour chaque jeu. Lorsque le jeu de résultats change, l'application doit de nouveau lier les valeurs de données avant d'extraire les résultats de ligne. Pour plus d'informations sur la gestion de plusieurs retours de jeux de résultats, consultez SQLMoreResults.

Les attributs de colonnes sont signalés uniquement pour le premier jeu de résultats lorsque plusieurs jeux de résultats sont générés par un lot préparé d'instructions SQL.

Pour les types de données à valeur élevée, la valeur retournée dans DataTypePtr est SQL_VARCHAR, SQL_VARBINARY ou SQL_NVARCHAR. Une valeur de SQL_SS_LENGTH_UNLIMITED dans ColumnSizePtr indique que la taille est « illimitée ».

Les améliorations apportées au moteur de base de données à partir de SQL Server 2012 (11.x) permettent à SQLDescribeCol d’obtenir des descriptions plus précises des résultats attendus. Ces résultats plus précis peuvent différer des valeurs retournées par SQLDescribeCol dans les versions précédentes de SQL Server. Pour plus d’informations, consultez Découverte des métadonnées.

Prise en charge par SQLDescribeCol des fonctionnalités de date et heure améliorées

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

Attribut DataTypePtr ColumnSizePtr DecimalDigitsPtr
DATETIME SQL_TYPE_TIMESTAMP 23 3
smalldatetime SQL_TYPE_TIMESTAMP 16 0
date SQL_TYPE_DATE 10 0
time SQL_SS_TIME2 8, 10..16 0..7
datetime2 SQL_TYPE_TIMESTAMP 19, 21..27 0..7
datetimeoffset SQL_SS_TIMESTAMPOFFSET 26, 28..34 0..7

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

Prise en charge par SQLDescribeCol des grands types CLR définis par l'utilisateur

SQLDescribeCol 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

SQLDescribeCol, fonction
Détails de l’implémentation d’API ODBC