Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 SQLDescribeCol sur les instructions préparées mais non exécutées génère un aller-retour de serveur.
Lorsqu’un lot d’instructions ou d’instructions Transact-SQL 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 ensemble. Lorsque le jeu de résultats change, l’application doit rebiner les valeurs de données avant d’extraire les résultats de ligne. Pour plus d’informations sur la gestion de plusieurs retours de jeu de résultats, consultez SQLMoreResults.
Les attributs de colonne 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 de grande valeur, 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 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 La découverte des métadonnées.
Prise en charge de SQLDescribeCol pour les fonctionnalités de date et d’heure améliorées
Les valeurs retournées pour les types date/heure sont les suivantes :
| DataTypePtr | ColumnSizePtr | DecimalDigitsPtr | |
|---|---|---|---|
| date/heure | SQL_TYPE_TIMESTAMP | 23 | 3 |
| smalldatetime | SQL_TYPE_TIMESTAMP | 16 | 0 |
| date | SQL_TYPE_DATE | 10 | 0 |
| Heure | 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 de SQLDescribeCol pour les UDT CLR volumineux
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