Trabajar con conjuntos de filas de esquema en ADOMD.NET
Si necesita más metadatos de los que hay disponibles en el modelo de objetos ADOMD.NET, ADOMD.NET proporciona la capacidad de recuperar toda la variedad disponible de conjuntos de filas de esquema de XML for Analysis (XMLA), OLE DB, OLE DB para OLAP y OLE DB para minería de datos:
Metadatos de XML for Analysis
Los conjuntos de filas de esquema de XML for Analysis proporcionan un método para recuperar información de bajo nivel sobre el servidor. Entre la información disponible se incluyen los orígenes de datos disponibles en el servidor, las palabras clave reservadas por el proveedor, los literales admitidos por el proveedor, etc. Incluso puede utilizar un conjunto de filas de esquema de XML for Analysis para detectar todos los conjuntos de filas de esquema admitidos por el proveedor.Para obtener más información: Conjuntos de filas de esquema de XML for Analysis
Metadatos de OLE DB
Los conjuntos de filas de esquema de OLE DB proporcionan un método estándar del sector para recuperar información de diversos proveedores.Para obtener más información: Conjuntos de filas de esquema OLE DB
Metadatos de OLAP
La información de esquema proporcionada para un origen de datos analíticos incluye las bases de datos o los catálogos disponibles en dicho origen de datos, los cubos y los modelos de minería de datos de una base de datos, las funciones que existen para los cubos en el origen de datos, etc.Para obtener más información: OLE DB para los conjuntos de filas de esquema OLAP
Metadatos de minería de datos
Además de los metadatos de OLAP, pueden recuperarse metadatos de minería de datos mediante conjuntos de filas de esquema. Los conjuntos de filas disponibles muestran información sobre los modelos de minería de datos disponibles en la base de datos, los algoritmos de minería de datos disponibles, los parámetros requeridos por el algoritmo, las estructuras de minería de datos, etc.Para obtener más información: Conjuntos de filas de esquema de minería de datos
Para recuperar metadatos de cada uno de estos conjuntos de filas de esquema, pase un GUID o un nombre XMLA con el método GetSchemaDataSet del objeto AdomdConnection.
Recuperar metadatos al pasar identificadores GUID
La clase AdomdSchemaGuid contiene una lista de campos que representan los conjuntos de filas de esquema que suelen admitir con más frecuencia los proveedores y los orígenes de datos analíticos. Para recuperar metadatos generales y específicos de un proveedor a partir de un proveedor u origen de datos analíticos, utilice los GUID incluidos en el objeto AdomdSchemaGuid con cualquiera de los métodos siguientes:
AdomdConnection..::..GetSchemaDataSet(Guid, array<Object>[]()[][])
AdomdConnection..::..GetSchemaDataSet(Guid, array<Object>[]()[][], Boolean)
[!NOTA]
El proveedor de datos de ADOMD.NET expone la información de esquema a través de la funcionalidad proporcionada por su proveedor específico y el origen de datos analíticos. Cada proveedor y origen de datos pueden proporcionar metadatos distintos.
Recuperar metadatos al pasar nombres XMLA
Los métodos siguientes toman como argumentos el nombre de esquema XMLA que identifica la información de esquema que se va a devolver y una matriz de restricciones para las columnas devueltas:
AdomdConnection..::..GetSchemaDataSet(String, AdomdRestrictionCollection)
AdomdConnection..::..GetSchemaDataSet(String, AdomdRestrictionCollection, Boolean)
AdomdConnection..::..GetSchemaDataSet(String, String, AdomdRestrictionCollection)
AdomdConnection..::..GetSchemaDataSet(String, String, AdomdRestrictionCollection, Boolean)
Cada uno de estos métodos devuelve una instancia de un objeto DataSet que se rellena con la información de esquema. El objeto DataSet pertenece al espacio de nombres System.Data de la biblioteca de clases Microsoft .NET Framework.
Ejemplo
En el ejemplo siguiente, la función GetActions toma una conexión, el nombre del cubo, una coordenada y un tipo de coordenada, recupera un elemento Conjunto de filas MDSCHEMA_ACTIONS y devuelve las acciones disponibles en la coordenada seleccionada.
//The following function can be called with the following data:
//ae.GetActions(conn, "Adventure Works","[Geography].[City]",6 );
//This would return a DataSet containing the actions available for cells
//in the Adventure Works cube on [Geography].[City].
private System.Data.DataSet GetActions(AdomdConnection Connection, string Cube, string Coordinate, int CoordinateType)
{
//Create a restriction collection to restrict the schema information to be returned.
AdomdRestrictionCollection restrictions= new AdomdRestrictionCollection();
restrictions.Add("CUBE_NAME", Cube);
restrictions.Add("COORDINATE", Coordinate);
restrictions.Add("COORDINATE_TYPE", CoordinateType); //6 = Cell coordinate
//Open and return a schema rowset, given the correct restictions
return Connection.GetSchemaDataSet("MDSCHEMA_ACTIONS", restrictions);
}