Récupération de métadonnées à partir d'une source de données analytiques

Les métadonnées s'avèrent importantes pour les applications qui récupèrent et utilisent des données analytiques. Lorsqu'il s'agit de récupérer les données d'une source de données, la dimensionnalité de telles données est prévisible, même en présence de dataset imbriqués. Les jeux de résultats d'une base de données relationnelle présentent généralement une structure bidimensionnelle ou scalaire. Toutefois, les données extraites de sources de données analytiques peuvent avoir une dimensionnalité variable, organisées selon des hiérarchies d'une grande profondeur potentielle.

Pour gérer la complexité de la récupération de métadonnées à partir de sources de données analytiques, ADOMD.NET propose deux formes de récupération de métadonnées :

  • Modèle objet
    Le modèle objet ADOMD.NET est généralement plus facile à utiliser que les ensembles de lignes de schéma. Dans la plupart des scénarios, vous pouvez accéder aux métadonnées de différents objets de base de données par la simple utilisation du modèle objet. ADOMD.NET expose le modèle objet par le biais de la classe AdomdConnection.

    Pour plus d'informations : Utilisation du modèle objet ADOMD.NET.

  • Ensembles de lignes de schéma
    Une autre méthode de récupération de métadonnées, complète mais plus difficile, est celle qui consiste à utiliser des ensembles de lignes de schéma. Un ensemble de lignes de schéma est un ensemble de lignes OLE DB qui encapsule la description de tous les objets d'un type particulier dans la base de données. Les informations de schéma contenues dans une source de données analytiques englobent notamment les bases de données ou les catalogues disponibles à partir de la source de données, les cubes et les modèles d'exploration d'une base de données, les rôles qui existent pour les cubes au niveau de la source de données, et ainsi de suite. Ces métadonnées peuvent être récupérées à l'aide de la méthode GetSchemaDataSet en transmettant un GUID ou un nom XMLA (XML for Analysis).

    Pour plus d'informations : Utilisation d'ensembles de lignes de schéma dans ADOMD.NET.

Chacune de ces méthodes de récupération de métadonnées accède aux différents types de métadonnées. Le tableau suivant décrit les différentes métadonnées disponibles pour chaque méthode, ainsi que les méthodes utilisées pour y accéder.

GUID (utilisé dans les ensembles de lignes de schéma)

Nom XMLA (utilisé dans les ensembles de lignes de schéma)

Modèle objet ADOMD.NET

Actions

Ensemble de lignes MDSCHEMA_ACTIONS

Catalogs

Ensemble de lignes DBSCHEMA_CATALOGS

Columns

Ensemble de lignes DBSCHEMA_COLUMNS

Connections

DISCOVER_CONNECTIONS

Cubes

Ensemble de lignes MDSCHEMA_CUBES

AdomdConnection.Cubes

DataSources

Ensemble de lignes DISCOVER_DATASOURCES

DBConnections

DISCOVER_DB_CONNECTIONS

Dimensions

Ensemble de lignes MDSCHEMA_DIMENSIONS

AdomdConnection.Cubes[].Dimensions

DimensionStat

DISCOVER_DIMENSION_STAT

Enumerators

Ensemble de lignes DISCOVER_ENUMERATORS

Functions

Ensemble de lignes MDSCHEMA_FUNCTIONS

Hierarchies

Ensemble de lignes MDSCHEMA_HIERARCHIES

AdomdConnection.Cubes[].Dimensions[].Hierarchies

InputDataSources

Ensemble de lignes MDSCHEMA_INPUT_DATASOURCES

Instances

Ensemble de lignes DISCOVER_INSTANCES

Jobs

DISCOVER_JOBS

Keywords

Ensembles de lignes DISCOVER_KEYWORDS (OLE DB pour OLAP)

Kpis

Ensemble de lignes MDSCHEMA_KPIS

AdomdConnection.Cubes[].KPIs

Levels

Ensemble de lignes MDSCHEMA_LEVELS

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

Literals

Ensemble de lignes DISCOVER_LITERALS

Locations

DISCOVER_LOCATIONS

Locks

DISCOVER_LOCKS

MasterKey

DISCOVER_MASTER_KEY

MeasureGroupDimensions

MDSCHEMA_MEASUREGROUP_DIMENSIONS

MeasureGroups

Ensemble de lignes MDSCHEMA_MEASUREGROUPS

Measures

Ensemble de lignes MDSCHEMA_MEASURES

AdomdConnection.Cubes[].Measures

MemberProperties

Ensemble de lignes MDSCHEMA_PROPERTIES

PropertyCollection disponible à partir de la plupart des principaux objets ADOMD.NET.

Members

Ensemble de lignes MDSCHEMA_MEMBERS

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

MemoryGrant

DISCOVER_MEMORYGRANT

MemoryUsage

DISCOVER_MEMORYUSAGE

MiningColumns

Ensemble de lignes DMSCHEMA_MINING_COLUMNS

AdomdConnection.MiningModels[].MiningModelColumns

MiningFunctions

Ensemble de lignes DMSCHEMA_MINING_FUNCTIONS

MiningModelContent

Ensemble de lignes DMSCHEMA_MINING_MODEL_CONTENT

AdomdConnection.MiningModels[].MiningContentNodes

MiningModelContentPmml

Ensemble de lignes DMSCHEMA_MINING_MODEL_CONTENT_PMML

MiningModels

Ensemble de lignes DMSCHEMA_MINING_MODELS

AdomdConnection.MiningModels

MiningModelXml

Ensemble de lignes DMSCHEMA_MINING_MODEL_XML

MiningServiceParameters

Ensemble de lignes DMSCHEMA_MINING_SERVICE_PARAMETERS

AdomdConnection.MiningServices[].MiningServiceParameters

MiningServices

Ensemble de lignes DMSCHEMA_MINING_SERVICES

AdomdConnection.MiningServices

MiningStructureColumns

Ensemble de lignes DMSCHEMA_MINING_STRUCTURE_COLUMNS

AdomdConnection.MiningStructures[].MiningStructureColumns

MiningStructures

Ensemble de lignes DMSCHEMA_MINING_STRUCTURES

AdomdConnection.MiningStructures

PartitionDimensionStat

DISCOVER_PARTITION_DIMENSION_STAT

PartitionStat

DISCOVER_PARTITION_STAT

PerformanceCounters

DISCOVER_PERFORMANCE_COUNTERS

ProviderTypes

Ensemble de lignes de schéma DBSCHEMA_PROVIDER_TYPES

SchemaRowsets

Ensemble de lignes DISCOVER_SCHEMA_ROWSETS

Sessions

DISCOVER_SESSIONS

Sets

Ensemble de lignes MDSCHEMA_SETS

AdomdConnection.Cubes[].NamedSets

Tables

Ensemble de lignes 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

Ensemble de lignes DISCOVER_PROPERTIES

XmlMetadata

Ensemble de lignes DISCOVER_XML_METADATA