On pourrait penser que requêter un cube OLAP avec Integration
Services est trivial et pourtant, avec un collègue, nous nous
sommes heurtés à quelques difficultés.
Première tentative :
Naïvement, nous créons une connexion de type OLE DB Provider for
Analysis Services 9.0. On la branche sur un OLE DB
Source et en guise de SQL Command, je tape ma requête
MDX (les ventes par catégories depuis le DataWarehouse de AdventureWorks) :
SELECT NON EMPTY { [Measures].[Sales Amount]
} ON COLUMNS,NON EMPTY { ([Dim Product].[Dim Product Category].[Dim Product
Category].ALLMEMBERS ) } ON ROWS FROM [AdventureWorks]
A la confirmation, l'avertissement suivant apparaît :
[OLE DB Source [1]] Warning: The output "OLE
DB Source Output" (11) references an external data type that cannot be mapped
to a Data Flow task data type. The Data Flow task data type DT_WSTR will be
used instead.
Soit, qu'il en soit ainsi, un WSTR me plait bien, de plus que la preview me
montre bien le résultat attendu. Je termine mon package en dirigeant le flux
vers un bête FlatFile.
A l'exécution, le warning réapparaît mais plus grave, le package plante
violemment(lançant SQLDumper.Exe au passage).
La solution :
Il faut en fait passer par .NET et utiliser les providers
"managed". On crée donc une ADO.NET Connection via un
clic droit dans la zone des Connection Managers. Dans la liste
des .NET Providers for OleDb, on choisit Analysis
Services 9.0 (oui, le même mais en managé) et on le configure pour
pointer sur notre cube.

Dans le Data Flow Task, on glisse un DataReader Source
auquel on branche la connexion créée ci-dessus. Pas d'avertissement, on
continue en branchant la sortie vers le fichier, on teste et ça marche
immédiatement. Vous aurez peut-être juste besoin d'une conversion de type
si vous n'êtes pas en UNICODE mais rien de difficile là-dedans (Data
Conversion Transformation).
Merci à Julien sans qui je n'aurai jamais publié cet article (avant un
moment).
PS : désolé, toutes les instructions sont en anglais car j'utilise une
version US des produits, ce que je vous conseille même si vous êtes fan de la
loi Toubon.