Welcome on Business Intelligence Blog !!!
This blog is dedicated to Business Intelligence technologies under SAS9 and SQL Server 2005.
| 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 | ||||||||||
|
||||||||||
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 :
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.