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 |
---|---|---|
DISCOVER_CONNECTIONS |
||
AdomdConnection.Cubes |
||
DISCOVER_DB_CONNECTIONS |
||
AdomdConnection.Cubes[].Dimensionen |
||
DISCOVER_DIMENSION_STAT |
||
AdomdConnection.Cubes[].Dimensionen[].Hierarchien |
||
DISCOVER_JOBS |
||
AdomdConnection.Cubes[].KPIs |
||
AdomdConnection.Cubes[].Dimensionen[].Hierarchien[].Ebenen |
||
DISCOVER_LOCATIONS |
||
DISCOVER_LOCKS |
||
DISCOVER_MASTER_KEY |
||
AdomdConnection.Cubes[].Measures |
||
PropertyCollection aus den meisten ADOMD.NET-Hauptobjekten verfügbar. |
||
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 |
||