Partager via


Collections de schémas SQL Server (ADO.NET)

Le fournisseur de données Microsoft .NET Framework pour SQL Server prend en charge d'autres collections de schémas en plus des collections de schémas courantes. Les collections de schémas varient légèrement selon la version de SQL Server que vous utilisez. Pour établir la liste des collections de schémas prises en charge, appelez la méthode GetSchema sans argument ou avec le nom de collection de schémas « MetaDataCollections ». Cette opération retourne un DataTable avec une liste des collections de schémas prises en charge, le nombre de restrictions qu'elles prennent en charge et le nombre d'éléments d'identification qu'elles utilisent.

Bases de données

ColumnName

DataType

Description

database_name

String

Nom de la base de données.

Dbid

Int16

ID de la base de données.

create_date

DateTime

Date de création de la base de données.

Clés étrangères

ColumnName

DataType

Description

constraint_catalog

String

Catalogue auquel la contrainte appartient.

constraint_schema

String

Schéma contenant la contrainte.

constraint_name

String

Nom.

table_catalog

String

Nom de la table dont la contrainte fait partie.

table_schema

String

Schéma contenant la table.

table_name

String

Nom de la table

constraint_type

String

Type de contrainte. Seul « FOREIGN KEY » est autorisé.

is_deferrable

String

Indique si la contrainte peut être différée. Retourne NO.

initially_deferred

String

Indique si la contrainte est initialement différée. Retourne NO.

Index

ColumnName

DataType

Description

constraint_catalog

String

Catalogue auquel l'index appartient.

constraint_schema

String

Schéma contenant l'index.

constraint_name

String

Nom de l'index.

table_catalog

String

Nom de la table auquel l'index est associé.

table_schema

String

Schéma contenant la table à laquelle l'index est associé.

table_name

String

Nom de table.

Indexes (SQL Server 2008)

Depuis .NET Framework version 3.5 SP1 et SQL Server 2008, les colonnes suivantes sont été ajoutées à la collection de schémas Indexes afin de prendre en charge de nouveaux types de données spatiales, flux de fichiers et colonnes fragmentées. Ces colonnes ne sont pas prises en charge dans les versions précédentes de .NET Framework et SQL Server.

ColumnName

DataType

Description

type_desc

String

Le type de l'index est l'un des suivants :

  • HEAP

  • CLUSTERED

  • NONCLUSTERED

  • XML

  • SPATIAL

IndexColumns

ColumnName

DataType

Description

constraint_catalog

String

Catalogue auquel l'index appartient.

constraint_schema

String

Schéma contenant l'index.

constraint_name

String

Nom de l'index.

table_catalog

String

Nom de la table auquel l'index est associé.

table_schema

String

Schéma contenant la table à laquelle l'index est associé.

table_name

String

Nom de table.

column_name

String

Nom de la colonne à laquelle l'index est associé.

ordinal_position

Int32

Position du numéro de colonne.

KeyType

UInt16

Type d'objet.

Procédures

Cette collection n'est disponible que dans SQL Server 2000 et les versions ultérieures.

ColumnName

DataType

Description

specific_catalog

String

Nom spécifique du catalogue.

specific_schema

String

Nom spécifique du schéma.

specific_name

String

Nom spécifique du catalogue.

routine_catalog

String

Catalogue auquel appartient la procédure stockée.

routine_schema

String

Schéma contenant la procédure stockée.

routine_name

String

Nom de la procédure stockée.

routine_type

String

Retourne PROCEDURE pour les procédures stockées et FUNCTION pour les fonctions.

created

DateTime

Heure à laquelle la procédure a été créée.

last_altered

DateTime

Heure à laquelle la procédure a été modifiée pour la dernière fois.

Paramètres de procédure

ColumnName

DataType

Description

specific_catalog

String

Nom du catalogue de la procédure pour laquelle ceci est un paramètre.

specific_schema

String

Schéma contenant la procédure dont ce paramètre fait partie.

specific_name

String

Nom de la procédure dont ce paramètre fait partie.

ordinal_position

Int16

Position ordinale du paramètre commençant à 1. Pour la valeur de retour d'une procédure, cela donne 0.

parameter_mode

String

Retourne IN pour un paramètre d'entrée, OUT pour un paramètre de sortie et INOUT pour un paramètre d'entrée/sortie.

is_result

String

Retourne YES s'il indique que le résultat de la procédure est une fonction. Sinon, retourne NO.

as_locator

String

Retourne YES s'il est déclaré comme pointeur. Sinon, retourne NO.

parameter_name

String

Nom du paramètre. NULL si ceci correspond à la valeur de retour d'une fonction.

data_type

String

Type de données fourni par le système.

character_maximum_length

Int32

Longueur maximale en caractères pour des types de données binaires ou sous forme de caractères. Sinon, retourne NULL.

character_octet_length

Int32

Longueur maximale en octets pour des types de données binaires ou sous forme de caractères. Sinon, retourne NULL.

collation_catalog

String

Nom de catalogue du classement du paramètre. S'il ne s'agit pas de l'un des types de caractère, retourne NULL.

collation_schema

String

Retourne toujours NULL.

collation_name

String

Nom du classement du paramètre. S'il ne s'agit pas de l'un des types de caractère, retourne NULL.

character_set_catalog

String

Nom de catalogue de l'ensemble de caractères du paramètre. S'il ne s'agit pas de l'un des types de caractère, retourne NULL.

character_set_schema

String

Retourne toujours NULL.

character_set_name

String

Nom du jeu de caractères du paramètre. S'il ne s'agit pas de l'un des types de caractère, retourne NULL.

numeric_precision

Byte

Précision des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, retourne NULL.

numeric_precision_radix

Int16

Radical de précision des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, retourne NULL.

numeric_scale

Int32

Échelle des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, retourne NULL.

datetime_precision

Int16

Précision en secondes fractionnelles si le type de paramètre est datetime ou smalldatetime. Sinon, retourne NULL.

interval_type

String

NULL. Réservé pour un usage futur de SQL Server.

interval_precision

Int16

NULL. Réservé pour un usage futur de SQL Server.

Tables

ColumnName

DataType

Description

table_catalog

String

Catalogue de la table.

table_schema

String

Schéma contenant la table.

table_name

String

Nom de la table.

table_type

String

Type de table. Peut être VIEW ou BASE TABLE.

Colonnes

ColumnName

DataType

Description

table_catalog

String

Catalogue de la table.

table_schema

String

Schéma contenant la table.

table_name

String

Nom de la table.

column_name

String

Nom de la colonne.

ordinal_position

Int16

Numéro d'identification de colonne.

column_default

String

Valeur par défaut de la colonne

is_nullable

String

Prise en charge des valeurs null dans la colonne. Si cette colonne autorise les valeurs NULL, elle retourne YES. Dans le cas contraire, elle retourne No.

data_type

String

Type de données fourni par le système.

character_maximum_length

Int32 – Sql8, Int16 – Sql7

Longueur maximale en caractères pour les données binaires, sous forme de caractères, de texte ou d'image. Sinon, la valeur NULL est retournée.

character_octet_length

Int32 – SQL8, Int16 – Sql7

Longueur maximale en octets pour les données binaires, sous forme de caractères, de texte ou d'image. Sinon, la valeur NULL est retournée.

numeric_precision

Octet non signé

Précision des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, la valeur NULL est retournée.

numeric_precision_radix

Int16

Radical de précision des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, la valeur NULL est retournée.

numeric_scale

Int32

Échelle des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, la valeur NULL est retournée.

datetime_precision

Int16

Code Subtype pour les types de données d'intervalle datetime et SQL-92. Pour les autres types de données, la valeur NULL est retournée.

character_set_catalog

String

Retourne une liste maître indiquant la base de données dans laquelle l'ensemble de caractères se trouve et si la colonne contient des données de type caractères ou texte. Sinon, la valeur NULL est retournée.

character_set_schema

String

Retourne toujours NULL.

character_set_name

String

Retourne le nom unique du jeu de caractères si cette colonne contient des données de type caractère ou texte. Sinon, la valeur NULL est retournée.

collation_catalog

String

Retourne une liste maître indiquant la base de données dans laquelle le classement est défini, si la colonne contient des données de type caractères ou texte. Sinon, cette colonne a une valeur NULL.

Columns (SQL Server 2008)

Depuis .NET Framework version 3.5 SP1 et SQL Server 2008, les colonnes suivantes sont été ajoutées à la collection de schémas Columns afin de prendre en charge de nouveaux types de données spatiales, flux de fichiers et colonnes fragmentées. Ces colonnes ne sont pas prises en charge dans les versions précédentes de .NET Framework et SQL Server.

ColumnName

DataType

Description

IS_FILESTREAM

String

YES si la colonne présente l'attribut FILESTREAM.

NO si la colonne ne présente pas l'attribut FILESTREAM.

IS_SPARSE

String

YES s'il s'agit d'une colonne fragmentée.

NO s'il ne s'agit pas d'une colonne fragmentée.

IS_COLUMN_SET

String

YES s'il s'agit d'une colonne d'ensemble de colonnes.

NO s'il ne s'agit pas d'une colonne d'ensemble de colonnes.

AllColumns (SQL Server 2008)

Depuis .NET Framework version 3.5 SP1 et SQL Server 2008, la collection de schémas AllColumns a été ajoutée afin de permettre la prise en charge des colonnes fragmentées. AllColumns n'est pas prise en charge dans les versions précédentes de .NET Framework et SQL Server.

AllColumns présente les mêmes restrictions et schéma DataTable résultant que la collection de schémas Columns. La seule différence vient du fait que la collection AllColumns inclut des colonnes d'ensembles de colonnes qui ne sont pas incluses dans la collection de schémas Columns. Le tableau suivant décrit ces colonnes.

ColumnName

DataType

Description

table_catalog

String

Catalogue de la table.

table_schema

String

Schéma contenant la table.

table_name

String

Nom de la table.

column_name

String

Nom de la colonne.

ordinal_position

Int16

Numéro d'identification de colonne.

column_default

String

Valeur par défaut de la colonne

is_nullable

String

Prise en charge des valeurs null dans la colonne. Si cette colonne autorise les valeurs NULL, elle retourne YES. Dans le cas contraire, elle retourne NO.

data_type

String

Type de données fourni par le système.

character_maximum_length

Int32 pour SQL Server 2000 et versions ultérieures, Int16 pour SQL Server 7.0

Longueur maximale en caractères pour les données binaires, sous forme de caractères, de texte ou d'image. Sinon, la valeur NULL est retournée.

character_octet_length

Int32 pour SQL Server 2000 et versions ultérieures, Int16 pour SQL Server 7.0

Longueur maximale en octets pour les données binaires, sous forme de caractères, de texte ou d'image. Sinon, la valeur NULL est retournée.

numeric_precision

Octet non signé

Précision des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, la valeur NULL est retournée.

numeric_precision_radix

Int16

Radical de précision des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, la valeur NULL est retournée.

numeric_scale

Int32

Échelle des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, la valeur NULL est retournée.

datetime_precision

Int16

Code Subtype pour les types de données d'intervalle datetime et SQL-92. Pour les autres types de données, la valeur NULL est retournée.

character_set_catalog

String

Retourne une liste maître indiquant la base de données dans laquelle l'ensemble de caractères se trouve et si la colonne contient des données de type caractères ou texte. Sinon, la valeur NULL est retournée.

character_set_schema

String

Retourne toujours NULL.

character_set_name

String

Retourne le nom unique de l'ensemble de caractères si cette colonne contient des données de type caractère ou texte. Sinon, la valeur NULL est retournée.

collation_catalog

String

Retourne une liste maître indiquant la base de données dans laquelle le classement est défini, si la colonne contient des données de type caractères ou texte. Sinon, cette colonne a une valeur NULL.

IS_FILESTREAM

String

YES si la colonne présente l'attribut FILESTREAM.

NO si la colonne ne présente pas l'attribut FILESTREAM.

IS_SPARSE

String

YES s'il s'agit d'une colonne fragmentée.

NO s'il ne s'agit pas d'une colonne fragmentée.

IS_COLUMN_SET

String

YES s'il s'agit d'une colonne d'ensemble de colonnes.

NO s'il ne s'agit pas d'une colonne d'ensemble de colonnes.

ColumnSetColumns (SQL Server 2008)

Depuis .NET Framework version 3.5 SP1 et SQL Server 2008, la collection de schémas ColumnSetColumns a été ajoutée afin de permettre la prise en charge des colonnes fragmentées. ColumnSetColumns n'est pas prise en charge dans les versions précédentes de .NET Framework et SQL Server. La collection de schémas ColumnSetColumns retourne le schéma de toutes les colonnes dans un ensemble de colonnes. Le tableau suivant décrit ces colonnes.

ColumnName

DataType

Description

table_catalog

String

Catalogue de la table.

table_schema

String

Schéma contenant la table.

table_name

String

Nom de la table.

column_name

String

Nom de la colonne.

ordinal_position

Int16

Numéro d'identification de colonne.

column_default

String

Valeur par défaut de la colonne

is_nullable

String

Prise en charge des valeurs null dans la colonne. Si cette colonne autorise les valeurs NULL, elle retourne YES. Dans le cas contraire, elle retourne NO.

data_type

String

Type de données fourni par le système.

character_maximum_length

Int32 pour SQL Server 2000 et versions ultérieures, Int16 pour SQL Server 7.0

Longueur maximale en caractères pour les données binaires, sous forme de caractères, de texte ou d'image. Sinon, la valeur NULL est retournée.

character_octet_length

Int32 pour SQL Server 2000 et versions ultérieures, Int16 pour SQL Server 7.0

Longueur maximale en octets pour les données binaires, sous forme de caractères, de texte ou d'image. Sinon, la valeur NULL est retournée.

numeric_precision

Octet non signé

Précision des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, la valeur NULL est retournée.

numeric_precision_radix

Int16

Radical de précision des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, la valeur NULL est retournée.

numeric_scale

Int32

Échelle des données numériques approximatives, des données numériques exactes, des données entières ou des données monétaires. Sinon, la valeur NULL est retournée.

datetime_precision

Int16

Code Subtype pour les types de données d'intervalle datetime et SQL-92. Pour les autres types de données, la valeur NULL est retournée.

character_set_catalog

String

Retourne une liste maître indiquant la base de données dans laquelle l'ensemble de caractères se trouve et si la colonne contient des données de type caractères ou texte. Sinon, la valeur NULL est retournée.

character_set_schema

String

Retourne toujours NULL.

character_set_name

String

Retourne le nom unique de l'ensemble de caractères si cette colonne contient des données de type caractère ou texte. Sinon, la valeur NULL est retournée.

collation_catalog

String

Retourne une liste maître indiquant la base de données dans laquelle le classement est défini, si la colonne contient des données de type caractères ou texte. Sinon, cette colonne a une valeur NULL.

IS_FILESTREAM

String

YES si la colonne présente l'attribut FILESTREAM.

NO si la colonne ne présente pas l'attribut FILESTREAM.

IS_SPARSE

String

YES s'il s'agit d'une colonne fragmentée.

NO s'il ne s'agit pas d'une colonne fragmentée.

IS_COLUMN_SET

String

YES s'il s'agit d'une colonne d'ensemble de colonnes.

NO s'il ne s'agit pas d'une colonne d'ensemble de colonnes.

Utilisateurs

ColumnName

DataType

Description

uid

Int16

ID d'utilisateur, unique dans cette base de données. 1 est le propriétaire de base de données.

name

String

Nom d'utilisateur ou nom de groupe, unique dans cette base de données.

createdate

DateTime

Date d'ajout du compte.

updatedate

DateTime

Date à laquelle le compte a été modifié pour la dernière fois.

Vues

Cette collection n'est disponible que dans SQL Server 2000 et les versions ultérieures.

ColumnName

DataType

Description

table_catalog

String

Catalogue de la vue.

table_schema

String

Schéma contenant la vue.

table_name

String

Nom de la vue.

check_option

String

Type de WITH CHECK OPTION. Est CASCADE si la vue originale a été créée à l'aide de WITH CHECK OPTION. Dans le cas contraire, retourne NONE.

is_updatable

String

Indique si la vue peut être mise à jour. Retourne toujours NO.

ViewColumns

ColumnName

DataType

Description

view_catalog

String

Catalogue de la vue.

view_schema

String

Schéma contenant la vue.

view_name

String

Nom de la vue.

table_catalog

String

Catalogue de la table associée à cette vue.

table_schema

String

Schéma contenant la table associée à cette vue.

table_name

String

Nom de la table associée à cette vue. Table de base.

column_name

String

Nom de la colonne.

UserDefinedTypes

Cette collection n'est disponible que dans SQL Server 2005 et les versions ultérieures.

ColumnName

DataType

Description

assembly_name

String

Nom du fichier pour l'assembly.

UDT_name

String

Nom de la classe pour l'assembly.

version_major

Object

Numéro de version principale.

version_minor

Object

Numéro de version secondaire.

version_build

Object

Numéro de build.

version_revision

Object

Numéro de révision.

Culture_info

Object

Informations de culture associées à cet UDT.

Public_key

Object

Clé publique utilisée par cet assembly.

Is_fixed_length

Boolean

Indique si la longueur du type est toujours identique à max_length.

max_length

Int16

Longueur maximale du type en octets.

permission_set_desc

String

Nom convivial de l'ensemble d'autorisations/niveau de sécurité pour l'assembly.

create_date

DateTime

Date à laquelle l'assembly a été créé/enregistré.

Voir aussi

Autres ressources

Récupération d'informations de schéma de base de données (ADO.NET)