Retrieving Metadata from an Analytical Data Source
Os metadados são importantes para aplicativos que recuperam dados analíticos e que trabalham com eles. Na recuperação de dados de uma fonte relacional, a dimensionalidade de tais dados será previsível, até mesmo com conjuntos de dados aninhados. Os conjuntos de resultados de um banco de dados relacional são tipicamente bidimensionais ou escalares em estrutura. No entanto, os dados recuperados de fontes de dados analíticos podem ser de dimensionalidade variável, organizados em hierarquias potencialmente profundas.
Para manipular a complexidade de recuperação de metadados de fontes de dados analíticos, ADOMD.NET oferece dois formulários de recuperação de metadados:
O modelo de objeto
O modelo de objeto do ADOMD.NET é geralmente mais fácil usar do que os conjuntos de linhas do esquema. Para a maioria dos cenários, você pode acessar os metadados de vários objetos de banco de dados simplesmente usando o modelo de objeto. ADOMD.NET expõe o modelo de objeto por meio do AdomdConnection .
Para obter mais informações: trabalhando com o modelo de objeto ADOMD.net
Conjuntos de linhas de esquema
Uma abordagem completa, embora mais difícil, de recuperar metadados é usar conjuntos de linhas do esquema. Um conjunto de linhas de esquema é um conjunto de linhas OLE DB que encapsula a descrição de todos os objetos de um tipo específico no banco de dados. As informações de esquema de uma fonte de dados analíticos incluem bancos de dados ou catálogos disponíveis na fonte de dados, nos cubos e nos modelos de mineração de um banco de dados, funções existentes para cubos da fonte de dados e assim por diante. Esses metadados podem ser recuperados usando o GetSchemaDataSet método, passando um GUID ou um nome de XML for Analysis (XMLA).
Para obter mais informações: trabalhando com conjuntos de linhas de esquema em ADOMD.net
Cada um desses métodos de recuperação de metadados acessa tipos diferentes de metadados. A tabela a seguir descreve os diferentes metadados disponíveis para cada método e os métodos usados para acessá-los.
GUID (usado em conjuntos de linhas do esquema) | Nome XMLA (usado em conjuntos de linhas do esquema) | Modelo de objeto do ADOMD.NET |
---|---|---|
Actions | Conjunto de linhas MDSCHEMA_ACTIONS | |
Catalogs | Conjunto de linhas DBSCHEMA_CATALOGS | |
Columns | Conjunto de linhas de DBSCHEMA_COLUMNS | |
Connections | DISCOVER_CONNECTIONS | |
Cubes | Conjunto de linhas MDSCHEMA_CUBES | AdomdConnection.Cubes |
DataSources | Conjunto de linhas DISCOVER_DATASOURCES | |
DBConnections | DISCOVER_DB_CONNECTIONS | |
Dimensions | Conjunto de linhas MDSCHEMA_DIMENSIONS | AdomdConnection.Cubes[].Dimensions |
DimensionStat | DISCOVER_DIMENSION_STAT | |
Enumerators | Conjunto de linhas DISCOVER_ENUMERATORS | |
Functions | Conjunto de linhas MDSCHEMA_FUNCTIONS | |
Hierarchies | Conjunto de linhas MDSCHEMA_HIERARCHIES | AdomdConnection.Cubes[].Dimensions[].Hierarchies |
InputDataSources | Conjunto de linhas MDSCHEMA_INPUT_DATASOURCES | |
Instances | Conjunto de linhas DISCOVER_INSTANCES | |
Jobs | DISCOVER_JOBS | |
Keywords | Conjunto de linhas DISCOVER_KEYWORDS (OLE DB para OLAP) | |
Kpis | Conjunto de linhas MDSCHEMA_KPIS | AdomdConnection.Cubes[].KPIs |
Levels | Conjunto de linhas MDSCHEMA_LEVELS | AdomdConnection.Cubes[].Dimensions[].Hierarchies[].Levels |
Literals | Conjunto de linhas DISCOVER_LITERALS | |
Locations | DISCOVER_LOCATIONS | |
Locks | DISCOVER_LOCKS | |
MasterKey | DISCOVER_MASTER_KEY | |
MeasureGroupDimensions | Conjunto de linhas MDSCHEMA_MEASUREGROUP_DIMENSIONS | |
MeasureGroups | Conjunto de linhas MDSCHEMA_MEASURESGROUPS | |
Measures | Conjunto de linhas MDSCHEMA_MEASURES | AdomdConnection.Cubes[].Measures |
MemberProperties | Conjunto de linhas MDSCHEMA_PROPERTIES | PropertyCollection disponível na maioria dos objetos ADOMD.NET. |
Members | Conjunto de linhas MDSCHEMA_MEMBERS | AdomdConnection.Cubes[].Dimensions[].Hierarchies[].Levels[].GetMembers() |
MemoryGrant | DISCOVER_MEMORYGRANT | |
MemoryUsage | DISCOVER_MEMORYUSAGE | |
MiningColumns | Conjunto de linhas de DMSCHEMA_MINING_COLUMNS | AdomdConnection.MiningModels[].MiningModelColumns |
MiningFunctions | Conjunto de linhas DMSCHEMA_MINING_FUNCTIONS | |
MiningModelContent | Conjunto de linhas DMSCHEMA_MINING_MODEL_CONTENT | AdomdConnection.MiningModels[].MiningContentNodes |
MiningModelContentPmml | Conjunto de linhas DMSCHEMA_MINING_MODEL_CONTENT_PMML | |
MiningModels | Conjunto de linhas DMSCHEMA_MINING_MODELS | AdomdConnection.MiningModels |
MiningModelXml | Conjunto de linhas DMSCHEMA_MINING_MODEL_XML | |
MiningServiceParameters | Conjunto de linhas DMSCHEMA_MINING_SERVICE_PARAMETERS | AdomdConnection.MiningServices[].MiningServiceParameters |
MiningServices | Conjunto de linhas DMSCHEMA_MINING_SERVICES | AdomdConnection.MiningServices |
MiningStructureColumns | Conjunto de linhas DMSCHEMA_MINING_STRUCTURE_COLUMNS | AdomdConnection.MiningStructures[].MiningStructureColumns |
MiningStructures | Conjunto de linhas DMSCHEMA_MINING_STRUCTURES | AdomdConnection.MiningStructures |
PartitionDimensionStat | DISCOVER_PARTITION_DIMENSION_STAT | |
PartitionStat | DISCOVER_PARTITION_STAT | |
PerformanceCounters | DISCOVER_PERFORMANCE_COUNTERS | |
ProviderTypes | Conjunto de linhas DBSCHEMA_PROVIDER_TYPES | |
SchemaRowsets | Conjunto de linhas DISCOVER_SCHEMA_ROWSETS | |
Sessions | DISCOVER_SESSIONS | |
Sets | Conjunto de linhas MDSCHEMA_SETS | AdomdConnection.Cubes[].NamedSets |
Tables | Conjunto de linhas DBSCHEMA_TABLES | |
TablesInfo | DBSCHEMA_TABLES_INFO | |
TraceColumns | DISCOVER_TRACE_COLUMNS | |
TraceDefinitionProviderInfo | DISCOVER_TRACE_DEFINITION_PROVIDERINFO | |
TraceEventCategories | DISCOVER_TRACE_EVENT_CATEGORIES | |
Traces | DISCOVER_TRACES | |
Transactions | DISCOVER_TRANSACTIONS | |
XmlaProperties | Conjunto de linhas DISCOVER_PROPERTIES | |
XmlMetadata | Conjunto de linhas DISCOVER_XML_METADATA |