Notes
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.
Les collections de schémas courantes sont les collections de schémas implémentées par chacun des fournisseurs managés .NET Framework. Vous pouvez interroger un fournisseur managé .NET Framework pour déterminer la liste des collections de schémas prises en charge en appelant la méthode GetSchema sans arguments ou avec le nom de la 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. Ces collections décrivent toutes les colonnes requises. Les fournisseurs sont libres d’ajouter des colonnes supplémentaires si elles le souhaitent. Par exemple, SqlClient
et OracleClient
ajoutez ParameterName à la collection de restrictions.
Si un fournisseur est incapable de déterminer la valeur d'une colonne obligatoire, il retourne la valeur null.
Pour plus d’informations sur l’utilisation des méthodes GetSchema , consultez GetSchema et Collections de schémas.
MetaDataCollections
Cette collection de schémas expose des informations sur toutes les collections de schémas prises en charge par le fournisseur managé .NET Framework actuellement utilisé pour se connecter à la base de données.
Nom de la colonne | Type de données | Descriptif |
---|---|---|
CollectionNom | ficelle | Nom de la collection à passer à la méthode GetSchema pour renvoyer la collection. |
NombreDeRestrictions | Int | Nombre de restrictions qui peuvent être spécifiées pour la collection. |
NumberOfIdentifierParts | Int | Nombre de parties dans le nom d'objet identificateur/base de données composite. Par exemple, dans SQL Server, ce serait 3 pour les tables et 4 pour les colonnes. Dans Oracle, il s’agirait de 2 pour les tables et 3 pour les colonnes. |
InformationsSourceDeDonnées
Cette collection de schémas expose des informations sur la source de données à laquelle le fournisseur managé .NET Framework se connecte actuellement.
Nom de la colonne | Type de données | Descriptif |
---|---|---|
CompositeIdentifierSeparatorPattern | ficelle | Expression régulière pour mettre en correspondance les séparateurs composites dans un identificateur composite. Par exemple, « \ ». (pour SQL Server) ou « @|\ ». (pour Oracle). Un identificateur composite est généralement utilisé pour un nom d’objet de base de données, par exemple : pubs.dbo.authors ou pubs@dbo.authors. Pour SQL Server, utilisez l’expression régulière « \ ». Pour OracleClient, utilisez « @|\ ». Pour ODBC, utilisez le Catalog_name_separator. Pour OLE DB, utilisez DBLITERAL_CATALOG_SEPARATOR ou DBLITERAL_SCHEMA_SEPARATOR. |
DataSourceProductName | ficelle | Nom du produit accessible par le fournisseur, tel que « Oracle » ou « SQLServer ». |
DataSourceProductVersion | ficelle | Indique la version du produit auquel accède le fournisseur, dans le format natif des sources de données et non dans un format Microsoft. Dans certains cas, DataSourceProductVersion et DataSourceProductVersionNormalized seront la même valeur. Dans le cas d’OLE DB et ODBC, ceux-ci sont toujours identiques car ils sont associés au même appel de fonction dans l’API native sous-jacente. |
DataSourceProductVersionNormalized | ficelle | Version normalisée pour la source de données, telle qu'elle peut être comparée à String.Compare() . Le format de ce paramètre est cohérent pour toutes les versions du fournisseur afin d’empêcher le tri de la version 10 entre la version 1 et la version 2.Par exemple, le fournisseur Oracle utilise un format « nn.nn.nn.nn.nn » pour sa version normalisée, ce qui entraîne le retour d’une source de données Oracle 8i « 08.01.07.04.01 ». SQL Server utilise le format Microsoft « nn.nn.nnnn » classique. Dans certains cas, DataSourceProductVersion et DataSourceProductVersionNormalized seront la même valeur. Dans le cas d’OLE DB et ODBC, ces appels de fonction sont toujours identiques car ils sont mappés au même appel de fonction dans l’API native sous-jacente. |
GroupByBehavior | GroupByBehavior | Spécifie la relation entre les colonnes dans une clause GROUP BY et les colonnes non agrégées dans la liste de sélection. |
IdentifierPattern | ficelle | Expression régulière qui correspond à un identificateur et dont la valeur de correspondance est l'identificateur. Par exemple , « [A-Za-z0-9_#$] ». |
IdentifierCase | IdentifierCase | Indique si des identificateurs non entourés de guillemets sont traités ou non comme respectant la casse. |
OrderByColumnsInSelect | Bool | Spécifie si les colonnes d'une clause ORDER BY doivent figurer dans la liste de sélection. La valeur true indique qu’elles doivent figurer dans la liste de sélection, une valeur false indique qu’elles ne doivent pas figurer dans la liste de sélection. |
ParameterMarkerFormat | ficelle | Chaîne de format représentant la manière de formater un paramètre. Si les paramètres nommés sont pris en charge par la source de données, le premier espace réservé dans cette chaîne doit être l'emplacement où le nom de paramètre doit être formaté. Par exemple, si la source de données s’attend à ce que les paramètres soient nommés et précédés d’un préfixe « : » il s’agit de « :{0} ». Lors de la mise en forme avec un nom de paramètre « p1 », la chaîne résultante est « :p 1 ». Si la source de données s’attend à ce que les paramètres soient préfixés par « @ », mais que les noms les incluent déjà, ce serait «{0} » et le résultat de la mise en forme d’un paramètre nommé « @p1 » serait simplement « @p1 ». Pour les sources de données qui ne s’attendent pas à des paramètres nommés et attendent l’utilisation du caractère « ? », la chaîne de format peut être spécifiée comme simplement « ? », qui ignorerait le nom du paramètre. Pour OLE DB, nous renvoyons « ? ». |
ParameterMarkerPattern | ficelle | Expression régulière représentant un marqueur de paramètre. Elle a pour valeur de correspondance éventuelle le nom de paramètre. Par exemple, si les paramètres nommés acceptent un caractère introducteur « @ » inclus dans le nom du paramètre, ce sera : « (@[A-Za-z0-9_$#]*) ». Toutefois, si les paramètres nommés sont pris en charge avec un caractère « : » comme caractère d'introduction et qu'il ne fait pas partie du nom du paramètre, alors cela serait : « :([A-Za-z0-9_$#]*) ». Bien sûr, si la source de données ne prend pas en charge les paramètres nommés, il s’agit simplement de « ? ». |
ParameterNameMaxLength | Int | Longueur maximale d'un nom de paramètre en caractères. Si les noms de paramètres sont pris en charge, Visual Studio attend que la valeur minimale de longueur maximale soit de 30 caractères. Si la source de données ne prend pas en charge les paramètres nommés, cette propriété retourne zéro. |
ParamètreNomModèle | ficelle | Expression régulière représentant les noms de paramètre valides. Différentes sources de données ont des règles différentes concernant les caractères qui peuvent être utilisés pour les noms de paramètres. Visual Studio s’attend à ce que si les noms de paramètres sont pris en charge, les caractères « \p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd} » sont l’ensemble minimal de caractères pris en charge qui sont valides pour les noms de paramètres. |
QuotedIdentifierPattern | ficelle | Expression régulière qui correspond à un identificateur entre guillemets et qui a pour valeur de correspondance l'identificateur proprement dit, sans les guillemets. Par exemple, si la source de données a utilisé des guillemets doubles pour identifier les identificateurs entre guillemets, il s’agit de : « (([^\"]|\"\ »)*) ». |
QuotedIdentifierCase | IdentifierCase | Indique si des identificateurs entourés de guillemets sont traités ou non comme respectant la casse. |
StatementSeparatorPattern | ficelle | Expression régulière représentant le séparateur d'instruction. |
StringLiteralPattern | ficelle | Expression régulière qui correspond à un littéral de chaîne et dont la valeur de correspondance est le littéral proprement dit. Par exemple, si la source de données a utilisé des guillemets simples pour identifier les chaînes, il s’agit de : « ('([^']|'')*')"' |
SupportedJoinOperators | SupportedJoinOperators | Spécifie les types d'instructions SQL jointes prises en charge par la source de données. |
types de données
Cette collection de schémas expose des informations sur les types de données pris en charge par la base de données à laquelle le fournisseur managé .NET Framework est actuellement connecté.
Nom de la colonne | Type de données | Descriptif |
---|---|---|
TypeName | ficelle | Nom du type de données spécifique au fournisseur. |
ProviderDbType | Int | Valeur de type spécifique du fournisseur qui doit être utilisée au moment de spécifier le type d’un paramètre. Par exemple, SqlDbType.Money ou OracleType.Blob. |
ColumnSize | long | La longueur d’une colonne ou d’un paramètre non numérique fait référence à la longueur maximale ou à la longueur définie pour ce type par le fournisseur. Pour les données caractères, il s’agit de la longueur maximale ou définie en unités, définie par la source de données. Oracle a le concept de spécification d’une longueur, puis de spécification de la taille de stockage réelle pour certains types de données caractères. Cela définit uniquement la longueur en unités pour Oracle. Pour les types de données date/heure, il s’agit de la longueur de la représentation sous forme de chaîne (en supposant la précision maximale autorisée du composant fraction de secondes). Si le type de données est numérique, il s’agit de la limite supérieure de la précision maximale du type de données. |
CréerFormat | ficelle | Chaîne de format représentant la manière d'ajouter cette colonne à une instruction de définition de données, telle que CREATE TABLE. Chaque élément du tableau CreateParameter doit être représenté par un « marqueur de paramètre » dans la chaîne de format. Par exemple, le type de données SQL DECIMAL nécessite une précision et une échelle. Dans ce cas, la chaîne de format est « DECIMAL({0},{1}) ». |
CréerParamètres | ficelle | Paramètres de création à spécifier lors de la création d'une colonne de ce type de données. Chaque paramètre de création est répertorié dans la chaîne, séparé par une virgule dans l’ordre dans lequel ils doivent être fournis. Par exemple, le type de données SQL DECIMAL nécessite une précision et une échelle. Dans ce cas, les paramètres de création doivent contenir la chaîne « precision, scale ». Dans une commande de texte pour créer une colonne DECIMAL avec une précision de 10 et une échelle de 2, la valeur de la colonne CreateFormat peut être DECIMAL({0},{1})" et la spécification de type complète serait DECIMAL(10,2). |
Type de données | ficelle | Nom du type .NET Framework du type de données. |
IsAutoincrementable | Bool | true : les valeurs de ce type de données peuvent être incrémentées automatiquement. false : les valeurs de ce type de données peuvent ne pas être incrémentées automatiquement. Notez que cela indique simplement si une colonne de ce type de données peut être incrémentée automatiquement, et non que toutes les colonnes de ce type sont incrémentées automatiquement. |
IsBestMatch | Bool | true : le type de données est la meilleure correspondance entre tous les types de données dans le magasin de données et le type de données .NET Framework indiqué par la valeur dans la colonne DataType. false — Le type de données n'est pas la meilleure correspondance. Pour chaque jeu de lignes dans lequel la valeur de la colonne DataType est identique, la colonne IsBestMatch a la valeur true dans une seule ligne. |
EstSensibleÀLaCasse | Bool | true — Le type de données est un type de caractère respectant la casse. false — Le type de données n'est pas un type de caractère ou ne respecte pas la casse. |
IsFixedLength | Bool | true : les colonnes de ce type de données créées par le langage de définition de données (DDL) sont de longueur fixe. false : les colonnes de ce type de données créées par le DDL sont de longueur variable. DBNull.Value : il n’est pas connu si le fournisseur mappe ce champ avec une colonne de longueur fixe ou variable. |
IsFixedPrecisionScale | Bool | true : le type de données a une précision et une échelle fixes. false : le type de données n’a pas de précision et de mise à l’échelle fixes. |
IsLong | Bool | true : le type de données contient des données très longues ; la définition de données très longues est spécifique au fournisseur. false : le type de données ne contient pas de données très longues. |
IsNullable | Bool | true : le type de données est nullable. false : le type de données n’est pas nullable. DBNull.Value : il n’est pas connu si le type de données est nullable. |
IsSearchable | Bool | true : le type de données peut être utilisé dans une clause WHERE avec n’importe quel opérateur, à l’exception du prédicat LIKE. false : le type de données ne peut pas être utilisé dans une clause WHERE avec n’importe quel opérateur, à l’exception du prédicat LIKE. |
IsSearchableWithLike | Bool | true : le type de données peut être utilisé avec le prédicat LIKE false : le type de données ne peut pas être utilisé avec le prédicat LIKE. |
IsUnsigned | Bool | true — Le type de données n'est pas signé. false — Le type de données est signé. DBNull.Value : non applicable au type de données. |
Échelle Maximale | court | Si l’indicateur de type est un type numérique, il s’agit du nombre maximal de chiffres autorisés à droite du point décimal. Sinon, il s’agit de DBNull.Value. |
Échelle minimale | court | Si l’indicateur de type est un type numérique, il s’agit du nombre minimal de chiffres autorisés à droite de la virgule décimale. Sinon, il s’agit de DBNull.Value. |
IsConcurrencyType | Bool | true : le type de données est mis à jour par la base de données chaque fois que la ligne est modifiée et que la valeur de la colonne est différente de toutes les valeurs précédentes false : le type de données est mis à jour par la base de données chaque fois que la ligne est modifiée DBNull.Value : la base de données ne prend pas en charge ce type de données |
IsLiteralSupported | Bool | true : le type de données peut être exprimé en tant que littéral false : le type de données ne peut pas être exprimé en tant que littéral |
LittéralPrefix | ficelle | Préfixe appliqué à un littéral donné. |
Littéraux | ficelle | Suffixe appliqué à un littéral donné. |
NativeDataType | Chaîne | NativeDataType est une colonne spécifique OLE DB pour exposer le type OLE DB du type de données . |
Restrictions
Cette collection de schémas a exposé des informations sur les restrictions prises en charge par le fournisseur managé .NET Framework actuellement utilisé pour se connecter à la base de données.
Nom de la colonne | Type de données | Descriptif |
---|---|---|
CollectionNom | ficelle | Nom de la collection à laquelle ces restrictions s'appliquent. |
RestrictionName | ficelle | Nom de la restriction dans la collection. |
RestrictionDefault | ficelle | Ignoré. |
RestrictionNumber | Int | Emplacement réel des restrictions de collections dans lequel figure cette restriction particulière. |
Mots Réservés
Cette collection de schémas expose des informations sur les mots réservés par la base de données à laquelle le fournisseur managé .NET Framework est actuellement connecté.
Nom de la colonne | Type de données | Descriptif |
---|---|---|
ReservedWord | ficelle | Mot réservé spécifique du fournisseur. |