Recuperando metadados - Trabalhando com conjuntos de linhas de esquema

Quando precisa de mais metadados do que o disponível no modelo de objetos ADOMD.NET, ADOMD.NET oferece a capacidade de recuperar toda a gama de XML para Análise (XMLA), OLE DB, OLE DB para OLAP e OLE DB para conjuntos de linhas de esquemas de Data Mining:

Metadados XML para Análise
Os conjuntos de linhas XML para Análise fornecem um método para recuperar informação de baixo nível sobre o servidor. A informação disponível inclui as fontes de dados disponíveis no servidor, as palavras-chave reservadas pelo fornecedor, os caracteres literais suportados pelo fornecedor e muito mais. Pode até usar um conjunto de linhas de esquema XML for Analysis para descobrir todos os conjuntos de linhas de esquema suportados pelo fornecedor.

Metadados OLE DB
Os conjuntos de linhas de esquemas OLE DB fornecem um método padrão da indústria para obter informação de vários fornecedores.

Metadados OLAP
A informação de esquema fornecida para uma fonte de dados analítica inclui bases de dados ou catálogos disponíveis na fonte de dados analíticos, cubos e modelos de mineração numa base de dados, funções existentes para cubos na fonte de dados e mais.

Metadados de mineração de dados
Para além dos metadados OLAP, os metadados de mineração de dados podem ser recuperados usando conjuntos de linhas de esquema. Os conjuntos de linhas disponíveis expõem informações sobre os modelos de mineração de dados disponíveis na base de dados, os algoritmos de mineração disponíveis, os parâmetros que o algoritmo exige, estruturas de mineração e muito mais.

Para cada um destes vários conjuntos de linhas de esquema, recupera metadados do conjunto de linhas passando um GUID ou nome XMLA com o método GetSchemaDataSet do objeto AdomdConnection.

Obtenção de Metadados através da transmissão de GUIDs

A AdomdSchemaGuid classe contém uma lista de campos que representam os conjuntos de linhas do esquema mais frequentemente suportados por fornecedores e fontes de dados analíticos. Para recuperar tanto metadados gerais como específicos de um fornecedor ou fonte de dados analíticos, utiliza-se os GUIDs contidos no AdomdSchemaGuid objeto com qualquer um dos seguintes métodos:

Observação

O fornecedor de dados ADOMD.NET expõe informações de esquema por meio das funcionalidades disponibilizadas pelo fornecedor específico e pela fonte de dados analíticos. Cada fornecedor e fonte de dados pode fornecer metadados diferentes.

Recuperação de Metadados ao passar nomes XMLA

Os métodos seguintes tomam como argumentos o nome do esquema XMLA que identifica qual a informação do esquema a devolver, e um conjunto de restrições sobre essas colunas retornadas:

Cada um destes métodos devolve uma instância de um objeto DataSet que é preenchida com a informação do esquema. O objeto DataSet é do namespace System.Data da Microsoft .NET Framework Class Library.

Example

No exemplo seguinte, a função GetActions toma uma ligação, o nome do cubo, uma coordenada e um tipo de coordenada, recupera um conjunto de linhas MDSCHEMA_ACTIONS e devolve as ações disponíveis na coordenada selecionada.

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