Business Intelligence Blog

Welcome on Business Intelligence Blog !!!

This blog is dedicated to Business Intelligence technologies under SAS9 and SQL Server 2005.

Calendrier

Novembre 2009
L M M J V S D
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            
<< < > >>

MVP Blog

Recommander

W3C

  • Flux RSS des articles
Mercredi 29 avril 2009

Dans notre processus, nous souhaitons exporter des faits, ainsi que les données de références qui y sont rattachées.

Cela suppose donc de gérer deux flux :

  • Un qui pilotera l'export des produits
  • Un qui sera le « dump » des faits

Dans cette optique, un multicast nous permettra de rattacher 2 flux à notre source.

Sa définition est assez triviale, et suit la même logique que la définition de la source de données, modulo, la classe à monter bien entendu.

 

private wrapper.IDTSComponentMetaData100 _multicast1;

private wrapper.CManagedComponentWrapper _multicastInstance1;

private wrapper.IDTSPath100  _path1;    

 

 

private void addMulticast()

{

    /* Instanciate a multicast component */

    _multicast1 =  _mainpipe.ComponentMetaDataCollection.New();

    _multicast1.ComponentClassID = "DTSTransform.Multicast";          

   

    _multicastInstance1 = _multicast1.Instantiate();

    _multicastInstance1.ProvideComponentProperties();

    _multicast1.Name = "MLT FactInternetSales";

   

    /* Add paths and link oledb source to multicast component */

    _path1 = _mainpipe.PathCollection.New();

    _path1.AttachPathAndPropagateNotifications(_oledbDatasource.OutputCollection[0], _multicast1.InputCollection[0]);

}

 

Quelques commentaires sur ce que nous faisons dans cette méthode :

Tout d'abord l'objet multicast n'a pas de propriétés particulières.

Ce qui est important c'est que nous tirons aussi un trait entre la source données (cf. précédent article), et notre nouveau composant.

Pour cela, nous créons un IDTSPath (chemin). Nous lions ensuite un composant, et plus particulièrement son output ( _oledbDatasource.OutputCollection[0] ) vers un autre composant en pointant cette fois-ci vers son input (_multicast1.InputCollection[0]), avec la méthode AttachPathAndPropagateNotifications .

Cette méthode comme son nom l'indique attache ces deux composants en termes de IDTSPath, mais surtout propage les métadonnées (les colonnes et leur type) d'un composant vers l'autre, et notifie les changements de métadonnées.

Il faudra donc bien garder à l'attention ces Path et veiller à alimenter correctement pour propager les flux de données.

 

Par Renaud Harduin - Publié dans : API SSIS
Ecrire un commentaire - Voir les commentaires - Recommander
Retour à l'accueil
Créer un blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus