Compartir a través de


Colecciones de esquemas comunes para el sistema de archivos host

La colección de esquemas comunes es la que implementa el proveedor administrado para archivos de host. Puede consultar el proveedor administrado 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". Esto devuelve un objeto DataTable con una lista de colecciones de esquemas admitidas, el número de restricciones que admite cada una y el número de partes de identificador que usan.

En las tablas siguientes se describen las colecciones de esquemas comunes para el sistema de archivos de host.

Columnas

Nombre de columna Tipo de datos Descripción
table_catalog String Catálogo de la tabla.
table_schema String Esquema que contiene la tabla.
table_name String Nombre de la tabla.
column_name String Nombre de la columna.
ordinal_position Int16 Número de identificación de la columna.
column_default String Valor predeterminado de la columna.
is_nullable String Nulabilidad de la columna. Si esta columna permite NULL, devuelve YES. De lo contrario, devuelve NO.
data_type String Tipo de datos proporcionado por el sistema.
character_maximum_length Int32 – Sql8, Int16 – Sql7 Longitud máxima, en caracteres, de los datos binarios, de caracteres, o de texto e imagen. En caso contrario se devuelve NULL.
character_octet_length Int32 – SQL8, Int16 – Sql7 Longitud máxima, en bytes, para datos binarios, datos de caracteres o datos de texto e imagen. En caso contrario se devuelve NULL.
numeric_precision Byte sin signo Precisión de los datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. En caso contrario se devuelve NULL.
numeric_precision_radix Int16 Base de la precisión de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. En caso contrario se devuelve NULL.
numeric_scale Int32 Escala de datos numéricos aproximados, datos numéricos exactos, datos enteros o datos monetarios. En caso contrario se devuelve NULL.
datetime_precision Int16 Código de subtipo para los tipos de datos interval de SQL-92 y datetime. Para los demás tipos de datos, se devuelve NULL.
character_set_catalog String Devuelve Master, para indicar la base de datos en la que se encuentra el juego de caracteres, si la columna es del tipo de datos de caracteres o de texto. En caso contrario se devuelve NULL.
character_set_schema String Siempre devuelve NULL.
character_set_name String Devuelve el nombre único del juego de caracteres si esta columna es del tipo de datos de caracteres o de texto. En caso contrario se devuelve NULL.
collation_catalog String Devuelve Master, para indicar la base de datos en la que se define la intercalación, si la columna es del tipo de datos de caracteres o de texto. De lo contrario, esta columna es NULL.

DataSourceInformation

Nombre Tipo Descripción
CompositeIdentifierSeparatorPattern string La expresión regular que va a hacer corresponder los separadores compuestos en un identificador compuesto. Por ejemplo, “\”. (en SQL Server) o “@|\”. (en Oracle).
Se suele usar un identificador compuesto para un nombre de objeto de base de datos, por ejemplo, pubs.dbo.authors o pubs@dbo.authors.
En SQL Server, utilice la expresión regular “\”. En OracleClient, utilice “@|\”.
En OLE DB, use DBLITERAL_CATALOG_SEPARATOR o DBLITERAL_SCHEMA_SEPARATOR.
DataSourceProductName string El nombre del producto al que tiene acceso el proveedor, por ejemplo, "Oracle" o "SQLServer".
DataSourceProductVersion string La versión del producto a la que accede el proveedor, en el formato nativo de los orígenes de datos y no en formato de Microsoft.
En algunos casos, DataSourceProductVersion y DataSourceProductVersionNormalized tienen el mismo valor. En el caso de OLE DB, siempre son iguales, ya que se asignan a la misma llamada de función en la API nativa subyacente.
DataSourceProductVersionNormalized string Una versión normalizada del origen de datos, de forma que se puede comparar con String.Compare(). Su formato es coherente con todas las versiones del proveedor para evitar que la versión 10 se clasifique entre la versión 1 y la versión 2.
Por ejemplo, el proveedor de Oracle utiliza un formato de “nn.nn.nn.nn.nn” en su versión normalizada, lo que ocasiona que un origen de datos Oracle 8i devuelva “08.01.07.04.01”. SQL Server utiliza el formato típico de Microsoft “nn.nn.nnnn”.
En algunos casos, DataSourceProductVersion y DataSourceProductVersionNormalized tendrán el mismo valor. En el caso de OLE DB, serán siempre iguales, ya que se asignan a la misma llamada de función en la API nativa subyacente.
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.
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 es necesario que estén en la lista de selección; un valor de false indica que no es necesario que estén 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 a los parámetros se les asigne un nombre y el prefijo ":", el resultado sería ":{0}". Cuando se da formato con un nombre de parámetro de “p1”, la cadena resultante es “:p1”.
Si el origen de datos espera que los parámetros estén prefijos con '@', pero los nombres ya los incluyen, esto sería '{0}' y el resultado de dar formato a 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 simplemente como "?", lo que omitiría el nombre del parámetro. En OLE DB, devolvemos ‘?’.
ParameterMarkerPattern string Una expresión regular que crea una correspondencia con un marcador de parámetro. Tiene un valor de coincidencia 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, esto sería: “(@[A-Za-z0-9_$#]*)”.
Sin embargo, si se admiten parámetros con nombre con ':' como carácter de introducción y no forma parte del nombre del parámetro, esto sería: ": “:([A-Za-z0-9_$#]*)”.
Naturalmente, 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. Según el origen de datos, existen diferentes reglas respecto a los caracteres que se pueden utilizar en los nombres de parámetros.
Visual Studio espera que si se admiten nombres de parámetros, los caracteres "\p{Lu}\p{Ll}\p{Lt}\p{Lm}\p{Lo}\p{Nl}\p{Nd}" son el juego mínimo de caracteres admitidos que son válidos en nombres de parámetros.
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 usa comillas dobles para identificar identificadores entre comillas, sería: "(([^\"]|\")*)".
QuotedIdentifierCase IdentifierCase Indica si los identificadores entre comillas se tratan como con distinción de 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 utilizado comillas sencillas para identificar cadenas, sería de esta manera: "('([^']|'')*')"'.
SupportedJoinOperators SupportedJoinOperators Especifica los tipos de instrucciones de unión SQL que admite el origen de datos.

DataTypes

Nombre de columna Tipo de datos Descripción
TypeName string El nombre del tipo de datos específico del proveedor.
ProviderDbType int El valor del tipo específico del proveedor que se debe utilizar al especificar el tipo de un parámetro. Por ejemplo, SqlDbType.Money o OracleType.Blob.
ColumnSize long La longitud de una columna o parámetro no numérico hace referencia a la longitud máxima o a la longitud que ha definido el proveedor para este tipo.
En datos de caracteres, es la longitud máxima o definida en unidades por el origen de datos. Oracle tiene el concepto de especificar una longitud y, a continuación, el tamaño de almacenamiento real en algunos tipos de datos de caracteres. Esto solo define la longitud en unidades en Oracle.
En los tipos de datos de fecha y hora, es la longitud de la representación de cadena (suponiendo la precisión máxima permitida del componente de segundos decimales).
Si el tipo de datos es numérico, 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, separado por una coma en el orden en que se suministran.
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 El nombre del tipo de datos de .NET Framework.
IsAutoincrementable bool true: es posible que los valores de este tipo de datos sean de incremento automático.
false: es posible que los valores de este tipo de datos no sean de incremento automático.
Tenga en cuenta que esto simplemente indica si una columna de este tipo de datos podría ser de incremento automático, no que todas las columnas de este tipo lo sean.
IsBestMatch Bool true: el tipo de datos es la mejor coincidencia entre todos los tipos de datos del almacén de datos y el de .NET Framework que indica el valor de la columna DataType.
false: el tipo de datos no es la mejor coincidencia.
En cada conjunto de filas en las que el valor de la columna DataType sea el mismo, la columna IsBestMatch solo se establece en true en una fila.
IsCaseSensitive bool true: el tipo de datos es de tipo carácter y distingue mayúsculas y minúsculas.

false: el tipo de datos no es de tipo carácter y no distingue mayúsculas y minúsculas.
IsFixedLength bool true: las columnas de este tipo de datos creadas con el lenguaje de definición de datos (DDL) son de longitud fija.

false: las columnas de este tipo de datos creadas con DDL son de longitud variable.

DBNull.Value: se desconoce 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 es específica del proveedor.

false: el tipo de datos no contiene datos muy largos.
IsNullable bool true: el tipo de datos admite valores NULL.

false: el tipo de datos no admite valores NULL.

DBNull.Value: se desconoce si el tipo de datos admite valores NULL.
IsSearchable bool true: el tipo de datos se puede usar en una cláusula WHERE con cualquier operador, excepto con el predicado LIKE.

false: el tipo de datos no se puede usar en una cláusula WHERE con ningún operador, excepto con 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 tiene signo.

DBNull.Value: no es aplicable al tipo de datos.
MaximumScale short Si el indicador de tipos es un tipo numérico, es el número máximo de dígitos permitidos a la derecha del separador decimal. De lo contrario, su valor es DBNull.Value.
MinimumScale short Si el indicador de tipos es un tipo numérico, es el número mínimo de dígitos permitidos a la derecha del separador decimal. De lo contrario, su valor es DBNull.Value.
IsConcurrencyType bool true: la base de datos actualiza el tipo de datos cada vez que cambia la fila y el valor de la columna es diferente de todos los valores anteriores.

false: la base de datos no actualiza el tipo de datos cada vez que cambia la fila.

DBNull.Value: la base de datos no admite este tipo de datos.
IsLiteralsSupported bool true: el tipo de datos se puede expresar como un literal.

false: el tipo de datos no se puede expresar como un literal.
LiteralPrefix string El prefijo aplicado a un literal dado.
LitteralSuffix string El sufijo aplicado a un literal dado.
NativeDataType String Columna específica de OLE DB para exponer el tipo OLE DB del tipo de datos.

MetaDataCollections

Nombre de columna Tipo de datos Descripción
CollectionName string Nombre de la colección que se pasa al método GetSchema para devolver la colección.
NumberOfRestriction int 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, sería 3 para las tablas y 4 para las columnas. En Oracle, sería 2 para las tablas y 3 para las columnas.

Restricciones

Nombre de columna Tipo de datos 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.

Tablas

Nombre de columna Tipo de datos Descripción
table_catalog String Catálogo de la tabla.
table_schema String Esquema que contiene la tabla.
table_name String Nombre de la tabla.
table_type String Tipo de tabla. Puede ser VIEW o BASE TABLE.

Ejemplo

Consulte también

Obtención de información de esquema desde el sistema de archivos de host
Adaptador de BizTalk para la configuración de Host Files