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