Métadonnées de paramètres table supplémentaires
S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW)
Pour récupérer les métadonnées d’un paramètre table, une application appelle SQLProcedureColumns. Pour un paramètre table, SQLProcedureColumns retourne une seule ligne. Deux colonnes supplémentaires spécifiques à SQL Server, SS_TYPE_CATALOG_NAME et SS_TYPE_SCHEMA_NAME, ont été ajoutées pour fournir des informations de schéma et de catalogue pour les types de tables associés aux paramètres table. Conformément à la spécification ODBC, SS_TYPE_CATALOG_NAME et SS_TYPE_SCHEMA_NAME apparaissent avant que toutes les colonnes spécifiques au pilote soient ajoutées dans les versions antérieures de SQL Server, et après toutes les colonnes mandatées par ODBC lui-même.
Le tableau suivant répertorie les colonnes significatives pour les paramètres table.
Nom de la colonne | Type de données | Valeur/commentaires |
---|---|---|
DATA_TYPE | Smallint non NULL | SQL_SS_TABLE |
TYPE_NAME | WVarchar (128) non NULL | Nom du type du paramètre table. |
COLUMN_SIZE | Integer | NULL |
BUFFER_LENGTH | Integer | 0 |
DECIMAL_DIGITS | Smallint | NULL |
NUM_PREC_RADIX | Smallint | NULL |
NULLABLE | Smallint non NULL | SQL_NULLABLE |
Remarques | Varchar | NULL |
COLUMN_DEF | WVarchar(4000) | NULL |
SQL_DATA_TYPE | Smallint non NULL | SQL_SS_TABLE |
SQL_DATETIME_SUB | Smallint | NULL |
CHAR_OCTET_LENGTH | Integer | NULL |
ORDINAL_POSITION | Entier non NULL | Position ordinale du paramètre. |
IS_NULLABLE | Varchar | "YES" |
SS_TYPE_CATALOG_NAME | WVarchar (128) non NULL | Catalogue contenant la définition de type pour le type de table du paramètre table. |
SS_TYPE_SCHEMA_NAME | WVarchar (128) non NULL | Schéma contenant la définition de type pour le type de table du paramètre table. |
Les colonnes WVarchar sont définies comme Varchar dans la spécification ODBC, mais sont effectivement retournées en tant que WVarchar dans tous les pilotes ODBC SQL Server récents. Cette modification a été apportée lorsque la prise en charge Unicode a été ajoutée à la spécification ODBC 3.5, sans être appelée explicitement.
Pour obtenir des métadonnées supplémentaires pour les paramètres table, une application utilise les fonctions de catalogue SQLColumns et SQLPrimaryKeys. Avant que ces fonctions ne soient appelées pour les paramètres table, l'application doit définir l'attribut d'instruction SQL_SOPT_SS_NAME_SCOPE avec la valeur SQL_SS_NAME_SCOPE_TABLE_TYPE. Cette valeur indique que l'application requiert les métadonnées pour un type table plutôt qu'une table réelle. L’application transmet ensuite la TYPE_NAME du paramètre table comme paramètre TableName . SS_TYPE_CATALOG_NAME et SS_TYPE_SCHEMA_NAME sont utilisés avec les paramètres CatalogName et SchemaName, respectivement, pour identifier le catalogue et le schéma du paramètre table. Quand une application a fini d'extraire les métadonnées des paramètres table, elle doit redéfinir SQL_SOPT_SS_NAME_SCOPE avec sa valeur par défaut SQL_SS_NAME_SCOPE_TABLE.
Lorsque SQL_SOPT_SS_NAME_SCOPE est défini avec la valeur SQL_SS_NAME_SCOPE_TABLE, les requêtes adressées aux serveurs liés échouent. Les appels à SQLColumns ou SQLPrimaryKeys avec un catalogue contenant un composant serveur échouent.