Partager via


SQLDescribeCol

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 ne provoque pas d’aller-retour de serveur. Comme SQLColAttribute, l’appel d’instructions SQLDescribeCol 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ésultat, 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 ensemble. 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 à grande valeur, la valeur retournée dans DataTypePtr est SQL_VARCHAR, SQL_VARBINARY ou SQL_NVARCHAR. La valeur 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 à compter de SQL Server 2012 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 :

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 grands types CLR définis par l'utilisateur. Pour plus d’informations, consultez Grands types de User-Defined CLR (ODBC).

Voir aussi

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