Abrufen von Metadaten aus einer analytischen Datenquelle

Metadaten sind wichtig für Anwendungen, die analytische Daten abrufen und damit arbeiten. Beim Abrufen von Daten aus einer relationalen Datenquelle ist die Dimensionalität dieser Daten selbst bei geschachtelten Datasets vorhersehbar. Resultsets aus einer relationalen Datenbank haben meist eine zweidimensionale oder skalare Struktur. Aus analytischen Datenquellen abgerufene Daten können jedoch eine variable Dimensionalität aufweisen und möglicherweise entlang tiefer Hierarchien organisiert sein.

Um der Komplexität des Metadatenabrufs aus analytischen Datenquellen zu begegnen, bietet ADOMD.NET zwei Arten des Metadatenabrufs:

  • Das Objektmodell
    Das ADOMD.NET-Objektmodell ist im Allgemeinen leichter zu verwenden als Schemarowsets. Bei den meisten Szenarien können Sie auf die Metadaten verschiedener Datenbankobjekte zugreifen, indem Sie einfach das Objektmodell verwenden. ADOMD.NET macht das Objektmodell durch AdomdConnection verfügbar.

    Weitere Informationen: Arbeiten mit dem ADOMD.NET-Objektmodell

  • Schemarowsets
    Ein vollständiger, aber schwierigerer Ansatz für das Abrufen von Metadaten besteht in der Verwendung von Schemarowsets. Ein Schemarowset ist ein OLE DB-Rowset, das die Beschreibung für alle Objekte einer bestimmten Art in der Datenbank einschließt. Zu den Schemainformationen in einer analytischen Datenquelle gehören die über die analytische Datenquelle verfügbaren Datenbanken und Kataloge, Cubes und Miningmodelle in einer Datenbank, für Cubes in der Datenbank bestehende Rollen usw. Diese Metadaten können mit der GetSchemaDataSet-Methode abgerufen werden, wobei entweder GUID oder ein XML for Analysis (XMLA)-Name übergeben wird.

    Weitere Informationen: Arbeiten mit Schemarowsets in ADOMD.NET

Jede dieser Methoden zum Abrufen von Metadaten greift auf andere Arten von Metadaten zu. In der folgenden Tabelle werden die bei den einzelnen Methoden verfügbaren, verschiedenen Metadaten und die Methoden für den Zugriff darauf beschrieben.

GUID (in Schemarowsets verwendet)

XMLA-Name (in Schemarowsets verwendet)

ADOMD.NET-Objektmodell

Actions

MDSCHEMA_ACTIONS-Rowset

Catalogs

DBSCHEMA_CATALOGS-Rowset

Columns

DBSCHEMA_COLUMNS-Rowset

Connections

DISCOVER_CONNECTIONS

Cubes

MDSCHEMA_CUBES-Rowset

AdomdConnection.Cubes

DataSources

DISCOVER_DATASOURCES-Rowset

DBConnections

DISCOVER_DB_CONNECTIONS

Dimensions

MDSCHEMA_DIMENSIONS-Rowset

AdomdConnection.Cubes[].Dimensionen

DimensionStat

DISCOVER_DIMENSION_STAT

Enumerators

DISCOVER_ENUMERATORS-Rowset

Functions

MDSCHEMA_FUNCTIONS-Rowset

Hierarchies

MDSCHEMA_HIERARCHIES-Rowset

AdomdConnection.Cubes[].Dimensionen[].Hierarchien

InputDataSources

MDSCHEMA_INPUT_DATASOURCES-Rowset

Instances

DISCOVER_INSTANCES-Rowset

Jobs

DISCOVER_JOBS

Keywords

DISCOVER_KEYWORDS-Rowset (OLE DB für OLAP)

Kpis

MDSCHEMA_KPIS-Rowset

AdomdConnection.Cubes[].KPIs

Levels

MDSCHEMA_LEVELS-Rowset

AdomdConnection.Cubes[].Dimensionen[].Hierarchien[].Ebenen

Literals

DISCOVER_LITERALS-Rowset

Locations

DISCOVER_LOCATIONS

Locks

DISCOVER_LOCKS

MasterKey

DISCOVER_MASTER_KEY

MeasureGroupDimensions

MDSCHEMA_MEASUREGROUP_DIMENSIONS

MeasureGroups

MDSCHEMA_MEASUREGROUPS-Rowset

Measures

MDSCHEMA_MEASURES-Rowset

AdomdConnection.Cubes[].Measures

MemberProperties

MDSCHEMA_PROPERTIES-Rowset

PropertyCollection aus den meisten ADOMD.NET-Hauptobjekten verfügbar.

Members

MDSCHEMA_MEMBERS-Rowset

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

MemoryGrant

DISCOVER_MEMORYGRANT

MemoryUsage

DISCOVER_MEMORYUSAGE

MiningColumns

DMSCHEMA_MINING_COLUMNS-Rowset

AdomdConnection.MiningModels[].MiningModelColumns

MiningFunctions

DMSCHEMA_MINING_FUNCTIONS-Rowset

MiningModelContent

DMSCHEMA_MINING_MODEL_CONTENT-Rowset

AdomdConnection.MiningModels[].MiningContentNodes

MiningModelContentPmml

DMSCHEMA_MINING_MODEL_CONTENT_PMML-Rowset

MiningModels

DMSCHEMA_MINING_MODELS-Rowset

AdomdConnection.MiningModels

MiningModelXml

DMSCHEMA_MINING_MODEL_XML-Rowset

MiningServiceParameters

DMSCHEMA_MINING_SERVICE_PARAMETERS-Rowset

AdomdConnection.MiningServices[].MiningServiceParameters

MiningServices

DMSCHEMA_MINING_SERVICES-Rowset

AdomdConnection.MiningServices

MiningStructureColumns

DMSCHEMA_MINING_STRUCTURE_COLUMNS-Rowset

AdomdConnection.MiningStructures[].MiningStructureColumns

MiningStructures

DMSCHEMA_MINING_STRUCTURES-Rowset

AdomdConnection.MiningStructures

PartitionDimensionStat

DISCOVER_PARTITION_DIMENSION_STAT

PartitionStat

DISCOVER_PARTITION_STAT

PerformanceCounters

DISCOVER_PERFORMANCE_COUNTERS

ProviderTypes

DBSCHEMA_PROVIDER_TYPES-Rowset

SchemaRowsets

DISCOVER_SCHEMA_ROWSETS-Rowsets

Sessions

DISCOVER_SESSIONS

Sets

MDSCHEMA_SETS-Rowset

AdomdConnection.Cubes[].NamedSets

Tables

DBSCHEMA_TABLES-Rowset

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-Rowset

XmlMetadata

DISCOVER_XML_METADATA-Rowset