从分析数据源检索元数据
元数据对于检索和使用分析数据的应用程序非常重要。从关系数据源检索数据时,这些数据的维数是可预测的,即使对嵌套数据集也是如此。关系数据库的结果集的结构通常是二维的或为标量。但是,从分析数据源检索的数据的维数是可变的,组织的层次结构可能会很深。
为了应对从分析数据源检索元数据的复杂性,ADOMD.NET 提供了两种形式的元数据检索:
对象模型
ADOMD.NET 对象模型通常比架构行集更易于使用。对于大多数应用场景,使用对象模型即可访问不同数据库对象的元数据。ADOMD.NET 通过 AdomdConnection 公开对象模型。有关详细信息,请参阅:使用 ADOMD.NET 对象模型
架构行集
通过使用架构行集检索元数据是一种完备但难度较大的方式。架构行集是一种 OLE DB 行集,其中封装了对数据库中特定类型的所有对象的说明。分析数据源中的架构信息包括可从数据源获取的数据库或目录、数据库中的多维数据集和挖掘模型、数据源中存在的多维数据集的角色等。这些元数据可使用 GetSchemaDataSet 方法,并传入 GUID 或 XML for Analysis (XMLA) 名称来检索。有关详细信息,请参阅:使用 ADOMD.NET 中的架构行集
上述每种元数据检索方法都可以访问不同类型的元数据。下表介绍每种方法可检索的不同元数据以及用于访问每种元数据的方法。
GUID(用于架构行集)  | 
XMLA 名称(用于架构行集)  | 
ADOMD.NET 对象模型  | 
|---|---|---|
DISCOVER_CONNECTIONS  | 
||
AdomdConnection.Cubes  | 
||
DISCOVER_DB_CONNECTIONS  | 
||
AdomdConnection.Cubes[].Dimensions  | 
||
DISCOVER_DIMENSION_STAT  | 
||
AdomdConnection.Cubes[].Dimensions[].Hierarchies  | 
||
DISCOVER_JOBS  | 
||
AdomdConnection.Cubes[].KPIs  | 
||
AdomdConnection.Cubes[].Dimensions[].Hierarchies[].Levels  | 
||
DISCOVER_LOCATIONS  | 
||
DISCOVER_LOCKS  | 
||
DISCOVER_MASTER_KEY  | 
||
AdomdConnection.Cubes[].Measures  | 
||
可从大多数主要 ADOMD.NET 对象获得的 PropertyCollection。  | 
||
AdomdConnection.Cubes[].Dimensions[].Hierarchies[].Levels[].GetMembers()  | 
||
DISCOVER_MEMORYGRANT  | 
||
DISCOVER_MEMORYUSAGE  | 
||
AdomdConnection.MiningModels[].MiningModelColumns  | 
||
AdomdConnection.MiningModels[].MiningContentNodes  | 
||
AdomdConnection.MiningModels  | 
||
AdomdConnection.MiningServices[].MiningServiceParameters  | 
||
AdomdConnection.MiningServices  | 
||
AdomdConnection.MiningStructures[].MiningStructureColumns  | 
||
AdomdConnection.MiningStructures  | 
||
DISCOVER_PARTITION_DIMENSION_STAT  | 
||
DISCOVER_PARTITION_STAT  | 
||
DISCOVER_PERFORMANCE_COUNTERS  | 
||
DISCOVER_SESSIONS  | 
||
AdomdConnection.Cubes[].NamedSets  | 
||
DBSCHEMA_TABLES_INFO  | 
||
DISCOVER_TRACE_COLUMNS  | 
||
DISCOVER_TRACE_DEFINITION_PROVIDERINFO  | 
||
DISCOVER_TRACE_EVENT_CATEGORIES  | 
||
DISCOVER_TRACES  | 
||
DISCOVER_TRANSACTIONS  | 
||