从分析数据源检索元数据

元数据对于检索和使用分析数据的应用程序非常重要。从关系数据源检索数据时,这些数据的维数是可预测的,即使对嵌套数据集也是如此。关系数据库的结果集的结构通常是二维的或为标量。但是,从分析数据源检索的数据的维数是可变的,组织的层次结构可能会很深。

为了应对从分析数据源检索元数据的复杂性,ADOMD.NET 提供了两种形式的元数据检索:

  • 对象模型
    ADOMD.NET 对象模型通常比架构行集更易于使用。对于大多数应用场景,使用对象模型即可访问不同数据库对象的元数据。ADOMD.NET 通过 AdomdConnection 公开对象模型。

    有关详细信息,请参阅:使用 ADOMD.NET 对象模型

  • 架构行集
    通过使用架构行集检索元数据是一种完备但难度较大的方式。架构行集是一种 OLE DB 行集,其中封装了对数据库中特定类型的所有对象的说明。分析数据源中的架构信息包括可从数据源获取的数据库或目录、数据库中的多维数据集和挖掘模型、数据源中存在的多维数据集的角色等。这些元数据可使用 GetSchemaDataSet 方法,并传入 GUID 或 XML for Analysis (XMLA) 名称来检索。

    有关详细信息,请参阅:使用 ADOMD.NET 中的架构行集

上述每种元数据检索方法都可以访问不同类型的元数据。下表介绍每种方法可检索的不同元数据以及用于访问每种元数据的方法。

GUID(用于架构行集)

XMLA 名称(用于架构行集)

ADOMD.NET 对象模型

Actions

MDSCHEMA_ACTIONS 行集

Catalogs

DBSCHEMA_CATALOGS 行集

Columns

DBSCHEMA_COLUMNS 行集

Connections

DISCOVER_CONNECTIONS

Cubes

MDSCHEMA_CUBES 行集

AdomdConnection.Cubes

DataSources

DISCOVER_DATASOURCES 行集

DBConnections

DISCOVER_DB_CONNECTIONS

Dimensions

MDSCHEMA_DIMENSIONS 行集

AdomdConnection.Cubes[].Dimensions

DimensionStat

DISCOVER_DIMENSION_STAT

Enumerators

DISCOVER_ENUMERATORS 行集

Functions

MDSCHEMA_FUNCTIONS 行集

Hierarchies

MDSCHEMA_HIERARCHIES 行集

AdomdConnection.Cubes[].Dimensions[].Hierarchies

InputDataSources

MDSCHEMA_INPUT_DATASOURCES 行集

Instances

DISCOVER_INSTANCES 行集

Jobs

DISCOVER_JOBS

Keywords

DISCOVER_KEYWORDS 行集 (OLE DB for OLAP)

Kpis

MDSCHEMA_KPIS 行集

AdomdConnection.Cubes[].KPIs

Levels

MDSCHEMA_LEVELS 行集

AdomdConnection.Cubes[].Dimensions[].Hierarchies[].Levels

Literals

DISCOVER_LITERALS 行集

Locations

DISCOVER_LOCATIONS

Locks

DISCOVER_LOCKS

MasterKey

DISCOVER_MASTER_KEY

MeasureGroupDimensions

MDSCHEMA_MEASUREGROUP_DIMENSIONS

MeasureGroups

MDSCHEMA_MEASUREGROUPS 行集

Measures

MDSCHEMA_MEASURES 行集

AdomdConnection.Cubes[].Measures

MemberProperties

MDSCHEMA_PROPERTIES 行集

可从大多数主要 ADOMD.NET 对象获得的 PropertyCollection。

Members

MDSCHEMA_MEMBERS 行集

AdomdConnection.Cubes[].Dimensions[].Hierarchies[].Levels[].GetMembers()

MemoryGrant

DISCOVER_MEMORYGRANT

MemoryUsage

DISCOVER_MEMORYUSAGE

MiningColumns

DMSCHEMA_MINING_COLUMNS 行集

AdomdConnection.MiningModels[].MiningModelColumns

MiningFunctions

DMSCHEMA_MINING_FUNCTIONS 行集

MiningModelContent

DMSCHEMA_MINING_MODEL_CONTENT 行集

AdomdConnection.MiningModels[].MiningContentNodes

MiningModelContentPmml

DMSCHEMA_MINING_MODEL_CONTENT_PMML 行集

MiningModels

DMSCHEMA_MINING_MODELS 行集

AdomdConnection.MiningModels

MiningModelXml

DMSCHEMA_MINING_MODEL_XML 行集

MiningServiceParameters

DMSCHEMA_MINING_SERVICE_PARAMETERS 行集

AdomdConnection.MiningServices[].MiningServiceParameters

MiningServices

DMSCHEMA_MINING_SERVICES 行集

AdomdConnection.MiningServices

MiningStructureColumns

DMSCHEMA_MINING_STRUCTURE_COLUMNS 行集

AdomdConnection.MiningStructures[].MiningStructureColumns

MiningStructures

DMSCHEMA_MINING_STRUCTURES 行集

AdomdConnection.MiningStructures

PartitionDimensionStat

DISCOVER_PARTITION_DIMENSION_STAT

PartitionStat

DISCOVER_PARTITION_STAT

PerformanceCounters

DISCOVER_PERFORMANCE_COUNTERS

ProviderTypes

DBSCHEMA_PROVIDER_TYPES 行集

SchemaRowsets

DISCOVER_SCHEMA_ROWSETS 行集

Sessions

DISCOVER_SESSIONS

Sets

MDSCHEMA_SETS 行集

AdomdConnection.Cubes[].NamedSets

Tables

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

DISCOVER_PROPERTIES 行集

XmlMetadata

DISCOVER_XML_METADATA 行集