Compartir a través de


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:

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:

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);
}