Partager via


Métadonnées de paramètres table supplémentaires

Pour extraire les métadonnées pour un paramètre table, une application appelle SQLProcedureColumns. Pour un paramètre table, SQLProcedureColumns retourne une seule ligne. Deux colonnes supplémentaires propres à SQL Server, SS_TYPE_CATALOG_NAME et SS_TYPE_SCHEMA_NAME, ont été ajoutées pour fournir les informations de schéma et de catalogue des types table associés aux paramètres table. En conformité avec la spécification ODBC, SS_TYPE_CATALOG_NAME et SS_TYPE_SCHEMA_NAME apparaissent avant toutes les colonnes spécifiques aux pilotes 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

Entier

NULL

BUFFER_LENGTH

Entier

0

DECIMAL_DIGITS

Smallint

NULL

NUM_PREC_RADIX

Smallint

NULL

NULLABLE

Smallint non NULL

SQL_NULLABLE

REMARKS

Varchar

NULL

COLUMN_DEF

WVarchar(4000)

NULL

SQL_DATA_TYPE

Smallint non NULL

SQL_SS_TABLE

SQL_DATETIME_SUB

Smallint

NULL

CHAR_OCTET_LENGTH

Entier

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 de fait retournées comme WVarchar dans les pilotes ODBC SQL Server les plus 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 le TYPE_NAME du paramètre table comme paramètre TableName. SS_TYPE_CATALOG_NAME et SS_TYPE_SCHEMA_NAME sont respectivement utilisés avec les paramètres CatalogName et SchemaName, 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 de SQLColumns ou SQLPrimaryKeys avec un catalogue contenant un composant serveur échouent.

Voir aussi

Concepts