Colecciones de esquemas comunes
Se aplica a: .NET Framework .NET .NET Standard
Las colecciones de esquemas comunes son las que implementan cada uno de los proveedores administrados de .NET. Puede consultar un proveedor administrado de .NET para determinar la lista de colecciones de esquemas admitidas mediante la llamada al método GetSchema
sin argumentos, o bien con el nombre de colección de esquemas "MetaDataCollections". Este método devolverá un DataTable con una lista de las colecciones de esquemas admitidas, el número de restricciones que admiten cada una de ellas y el número de partes de identificador que usan. Estas colecciones describen todas las columnas necesarias. Los proveedores pueden agregar más columnas si lo desean. Por ejemplo, el proveedor de datos SqlClient de Microsoft para SQL Server agrega ParameterName
a la colección de restricciones.
Si un proveedor no puede determinar el valor de una columna necesaria, se devolverá NULL.
Para más información sobre el uso de los métodos GetSchema
, consulte vea Colecciones GetSchema y Schema.
MetaDataCollections
Esta colección expone información acerca de las colecciones de esquemas que admite el proveedor que se utiliza actualmente para conectarse a la base de datos.
ColumnName | DataType | Descripción |
---|---|---|
CollectionName | string |
Nombre de la colección que se pasa al método GetSchema para devolver la colección. |
NumberOfRestrictions | int |
El número de restricciones que se pueden especificar para la colección. |
NumberOfIdentifierParts | int |
El número de partes del identificador compuesto y nombre del objeto de base de datos. Por ejemplo, en SQL Server, el valor sería 3 para las tablas y 4 para las columnas. |
DataSourceInformation
Esta colección de esquemas expone información sobre el origen de datos al que el proveedor de datos SqlClient de Microsoft para SQL Server está conectado actualmente.
ColumnName | DataType | Descripción |
---|---|---|
CompositeIdentifierSeparatorPattern | string |
La expresión regular que va a hacer corresponder los separadores compuestos en un identificador compuesto. Por ejemplo, \. (para SQL Server).Un identificador compuesto es normalmente lo que se utiliza en un nombre de objeto de base de datos, por ejemplo: pubs.dbo.authors o pubs@dbo.authors .Para SQL Server, use la expresión regular \. . |
DataSourceProductName | string |
Nombre del producto al que accede el proveedor, como "SQLServer". |
DataSourceProductVersion | string |
Indica la versión del producto al que tiene acceso el proveedor, en el formato nativo de los orígenes de datos y no en el formato de Microsoft. En algunos casos, DataSourceProductVersion y DataSourceProductVersionNormalized serán del mismo valor. |
DataSourceProductVersionNormalized | string |
Una versión normalizada del origen de datos, de forma que se puede comparar con String.Compare() . Este formato es coherente para todas las versiones del proveedor a fin de evitar que la versión 10 se ordene entre la versión 1 y la versión 2.Por ejemplo, SQL Server usa el formato típico de Microsoft nn.nn.nnnn .En algunos casos, DataSourceProductVersion y DataSourceProductVersionNormalized serán del mismo valor. |
GroupByBehavior | GroupByBehavior | Especifica la relación entre las columnas de una cláusula GROUP BY y las columnas no agregadas de la lista de selección. |
IdentifierPattern | string |
Expresión regular que crea una correspondencia con un identificador y con un valor de coincidencia del identificador. Por ejemplo, [A-Za-z0-9_#$] . |
IdentifierCase | IdentifierCase | Indica si los identificadores que no se incluyen entre comillas se usan con distinción de mayúsculas y minúsculas o no. |
OrderByColumnsInSelect | bool |
Especifica si las columnas de una cláusula ORDER BY deben estar en la lista de selección. Un valor de true indica que deben estar en la lista de selección. Un valor de false indica que no es necesario que esté en la lista de selección. |
ParameterMarkerFormat | string |
Una cadena de formato que representa cómo dar formato a un parámetro. Si el origen de datos admite parámetros con nombre, el primer marcador de posición de esta cadena debe estar donde se debe dar formato al nombre del parámetro. Por ejemplo, si el origen de datos espera que se asigne un nombre a los parámetros y que : los preceda, el resultado sería :{0} . Cuando se da formato a este parámetro con un nombre de p1 , la cadena resultante es :p1 .Si el origen de datos espera que el carácter @ preceda a los parámetros, pero los nombres ya lo incluyen, esta cadena sería {0} y el resultado de aplicar formato un parámetro denominado @p1 sería simplemente @p1 .Para los orígenes de datos que no esperan parámetros con nombre y sí el uso del carácter ? , la cadena de formato se puede especificar como ? , lo que ignoraría el nombre del parámetro. |
ParameterMarkerPattern | string |
Una expresión regular que crea una correspondencia con un marcador de parámetro. Tendrá un valor de correspondencia del nombre del parámetro, si lo hay. Por ejemplo, si se admiten parámetros con nombre con un carácter de introducción @ que se incluirá en el nombre del parámetro, este patrón sería (\@[A-Za-z0-9_$#]*) .Pero si se admiten parámetros con nombre con : como carácter de introducción y no forma parte del nombre del parámetro, el resultado sería :([A-Za-z0-9_$#]\*) .Si el origen de datos no admite parámetros con nombre, esto sería simplemente ? . |
ParameterNameMaxLength | int |
La longitud máxima del nombre del parámetro en caracteres. Visual Studio espera que si se admiten nombres de parámetros, el valor mínimo de la longitud máxima sea 30 caracteres. Si el origen de datos no admite parámetros con nombre, esta propiedad devuelve cero. |
ParameterNamePattern | string |
Una expresión regular que crea una correspondencia con los nombres de parámetros válidos. Los distintos orígenes de datos tienen reglas diferentes sobre los caracteres que se pueden usar para los nombres de parámetro. Visual Studio espera que, si se admiten nombres de parámetro, los caracteres \p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd} sean el conjunto mínimo admitido de caracteres que son válidos para los nombres de parámetro. |
QuotedIdentifierPattern | string |
Una expresión regular que crea una correspondencia con un identificador incluido entre comillas y que tiene un valor de correspondencia del propio identificador sin las comillas. Por ejemplo, si el origen de datos ha usado comillas dobles para identificar identificadores entre comillas, este patrón sería (([^\\"]\|\\"\\")*) . |
QuotedIdentifierCase | IdentifierCase | Indica si los identificadores incluidos entre comillas se tratan o no como con diferenciación entre mayúsculas y minúsculas. |
StatementSeparatorPattern | string |
Una expresión regular que crea una correspondencia con el separador de instrucciones. |
StringLiteralPattern | string |
Una expresión regular que crea una correspondencia con un literal de cadena y que tiene un valor de correspondencia del propio literal. Por ejemplo, si el origen de datos ha usado comillas sencillas para identificar cadenas, este patrón sería ('([^']\|'')*') . |
SupportedJoinOperators | SupportedJoinOperators | Especifica los tipos de instrucciones de unión SQL que admite el origen de datos. |
DataTypes
Esta colección de esquemas expone información acerca de los tipos de datos que admite la base de datos a la que está conectado actualmente el proveedor de datos.
ColumnName | DataType | Descripción |
---|---|---|
TypeName | string |
El nombre del tipo de datos específico del proveedor. |
ProviderDbType | int |
Valor de tipo específico del proveedor que se debe usar al especificar el tipo de un parámetro. Por ejemplo, SqlDbType.Money . |
ColumnSize | long |
Longitud de una columna o parámetro no numéricos. Este valor hace referencia al valor máximo o a la longitud definida para este tipo por el proveedor. Para los datos de caracteres, este valor es la longitud máxima o definida en unidades, definida por el origen de datos. Para los tipos de datos de fecha y hora, este valor es la longitud de la representación de cadena (suponiendo la precisión máxima permitida del componente de fracciones de segundo). Si el tipo de datos es numérico, este valor se corresponde al límite superior de la precisión máxima del tipo de datos. |
CreateFormat | string |
La cadena de formato que representa cómo agregar esta columna a una instrucción de definición de datos, como CREATE TABLE. Cada elemento de la matriz CreateParameter se debe representar con un "marcador de parámetro" en la cadena de formato.Por ejemplo, el tipo de datos SQL DECIMAL necesita una precisión y una escala. En este caso, la cadena de formato sería DECIMAL({0},{1}) . |
CreateParameters | string |
Los parámetros de creación que se deben especificar al crear una columna de este tipo de datos. Cada parámetro de creación se muestra en la cadena, separados por una coma en el orden en que se van a proporcionar. Por ejemplo, el tipo de datos SQL DECIMAL necesita una precisión y una escala. En este caso, los parámetros de creación deben contener la cadena "precisión, escala". En un comando de texto para crear una columna DECIMAL con una precisión de 10 y una escala de 2, el valor de la columna CreateFormat podría ser DECIMAL({0},{1}) y la especificación completa del tipo sería DECIMAL(10,2) . |
DataType | string |
Nombre del tipo de .NET del tipo de datos. |
IsAutoincrementable | bool |
true : los valores de este tipo de datos pueden incrementarse automáticamente.false : es posible que los valores de este tipo de datos no se incremente automáticamente.Esta propiedad simplemente indica si una columna de este tipo de datos puede incrementarse automáticamente, no que todas las columnas de este tipo se incremente automáticamente. |
IsBestMatch | bool |
true : el tipo de datos es la mejor coincidencia de entre todos los tipos de datos del almacén de datos y el tipo de datos de .NET indicado por el valor de la columna DataType .false : el tipo de datos no es la mejor coincidencia.Para cada conjunto de filas en que el valor de la columna DataType es el mismo, la columna IsBestMatch se define en true en una sola fila. |
IsCaseSensitive | bool |
true : el tipo de datos es un tipo de caracteres y distingue entre mayúsculas y minúsculas.false : el tipo de datos no es un tipo de carácter o no distingue mayúsculas de minúsculas. |
IsFixedLength | bool |
true : las columnas de este tipo de datos creadas por el lenguaje de definición de datos (DDL) serán de la longitud fija.false : las columnas de este tipo de datos creadas por el DDL serán de longitud variable.DBNull.Value : si no se conoce si el proveedor asignará este campo con una columna de longitud fija o de longitud variable. |
IsFixedPrecisionScale | bool |
true : el tipo de datos tiene una precisión y escala fijas.false : el tipo de datos no tiene una precisión y escala fijas. |
IsLong | bool |
true : el tipo de datos contiene datos muy largos; la definición de datos muy largos depende del proveedor.false : el tipo de datos no contiene datos muy largos. |
IsNullable | bool |
true : el tipo de datos acepta valores NULL.false : el tipo de datos no acepta valores NULL.DBNull.Value : no se sabe si el tipo de datos acepta valores NULL. |
IsSearchable | bool |
true : el tipo de datos se puede usar en una cláusula WHERE con cualquier operador excepto el predicado LIKE.false : el tipo de datos no se puede usar en una cláusula WHERE con ningún operador excepto el predicado LIKE. |
IsSearchableWithLike | bool |
true : el tipo de datos se puede usar con el predicado LIKE.false : el tipo de datos no se puede usar con el predicado LIKE. |
IsUnsigned | bool |
true : el tipo de datos no tiene signo.false : el tipo de datos está firmado.DBNull.Value : no es aplicable a los almacenes de datos. |
MaximumScale | short |
Si el indicador de tipo es un tipo numérico, este valor es el número máximo de dígitos permitidos a la derecha del separador decimal. De lo contrario, este valor es DBNull.Value . |
MinimumScale | short |
Si el indicador de tipo es un tipo numérico, este valor es el número mínimo de dígitos permitidos a la derecha del separador decimal. De lo contrario, este valor es DBNull.Value . |
IsConcurrencyType | bool |
true : la base de datos actualiza el tipo de datos cada vez que se cambia la fila y el valor de la columna es diferente de todos los valores anteriores.false : la base de datos actualiza el tipo de datos cada vez que se cambia la fila.DBNull.Value : la base de datos no admite este tipo de datos. |
IsLiteralSupported | bool |
true : el tipo de datos se puede expresar como un literal.false : el tipo de datos no se puede expresar como literal. |
LiteralPrefix | string |
El prefijo aplicado a un literal dado. |
LiteralSuffix | string |
El sufijo aplicado a un literal dado. |
Restricciones
Esta colección de esquemas expone información sobre las restricciones que admite el proveedor que se usa actualmente para conectarse a la base de datos.
ColumnName | DataType | Descripción |
---|---|---|
CollectionName | string |
El nombre de la colección a la que se aplican estas restricciones. |
RestrictionName | string |
El nombre de la restricción en la colección. |
RestrictionDefault | string |
ignorado. |
RestrictionNumber | int |
La ubicación real de las restricciones de colecciones en la que se encuentra esta restricción en particular. |
ReservedWords
Esta colección de esquemas expone información sobre las palabras reservadas por la base de datos a la que está conectado actualmente el proveedor.
ColumnName | DataType | Descripción |
---|---|---|
ReservedWord | string |
Palabra reservada específica del proveedor. |