Vous êtes sur la page 1sur 63

SSIS Implmenter un flux

Version 1.0
Z

Thibault Denizet

SSIS Implmenter un flux

Sommaire

1 2 3

Introduction Contraintes de prcdence Implmenter un flux de contrle 3.1 Conteneurs du flux de contrle Conteneur de boucle For Conteneur de boucle Foreach Conteneur de squence

4 5 8 8 8 10 10 11 11 11 17 22 24 25 28 30 30 31 32 32 33 33 34 35 36 37 37 38 38 38 40 Dotnet France Association

3.1.1 3.1.2 3.1.3 3.2

Elments du flux de contrle Tche de flux de donnes Tches de prparation des donnes Tches de flux de travail Tches SQL Server Tches de script Tches Analysis Services Tches de compatibilit descendante

3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.3

Tches du plan de maintenance Tche Sauvegarder la base de donnes Tche Vrifier lintgrit de la base de donnes Tche Excuter le travail de lAgent SQL Server Tche Excuter linstruction T-SQL Tche de nettoyage dhistorique Tche de nettoyage de maintenance Tche Notifier loprateur Tche Reconstruire lindex Tche Rorganiser lindex Tche Rduire la base de donnes Tche Mettre jour les statistiques

3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.3.10 3.3.11 4

Implmenter un flux de donnes 4.1 Source de flux de donnes Source ADO.net Source Excel

4.1.1 4.1.2

3 4.1.3 4.1.4 4.1.5 4.1.6 4.2 Source de fichier plat Source OLE DB Source de fichier brut Source XML

SSIS Implmenter un flux 41 44 45 45 47 47 48 54 56 59 60 60 61 61 61 61 61 61 61 61 61 61 62 63

Transformation du flux de donnes Transformations Business Intelligence Transformations de lignes Transformations densemble de lignes Transformations de fractionnement et de jointure Audit de transformation

4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.3

Destinations du flux de donnes Destination ADO.NET Destination dapprentissage du modle dexploration de donnes Destination DataReader Destination de traitement de dimension Destination Excel Destination de fichier plat Destination OLE DB Destination de traitement de partition Destination de fichier brut Destination de lensemble denregistrements Destination SQL Server Compact Edition Destination SQL Server

4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.3.9 4.3.10 4.3.11 4.3.12 5

Conclusion

Dotnet France Association

SSIS Implmenter un flux

1 Introduction
Ce chapitre sera consacr aux tches du flux de contrle et du flux de donnes qui sont le cur de notre package. En effet, ce sont ces tches qui vont permettre le transfert et la transformation de nos donnes. Elles vont galement nous permettre de nous tenir informer sur lvolution de notre package. Dans un premier temps, nous allons tudier les tches du flux de contrle puis celles du flux de donnes. Cependant, il nous est ncessaire tout dabord de nous intresser aux contraintes de prcdence afin dapprendre lier nos tches.

Dotnet France Association

SSIS Implmenter un flux

2 Contraintes de prcdence
SSIS nous propose, pour lier nos tches, des flches. Il suffit de cliquer sur la flche dune tche et de glisser la souris jusqu une autre tche pour les lier. Lors de lexcution du package, les tches seront excuts dans lordre de ces flches et selon les conditions que nous auront dtermin. Dans limage ci-dessous, on remarque quatre tches, notre tche Data Flow qui sera excut en premier, puis trois autres tches qui lui sont lies par des flches de diffrentes couleurs.

Si nous faisons un clic droit sur la flche bleue on obtient le menu ci-contre : Chaque couleur correspond en fait une contrainte, la tche Script (flche verte) sexcutera uniquement si lexcution de la tche Data Flow sest bien droul. La tche Script 1 (flche bleue) sexcutera aprs la tche Data Flow peu importe le succs ou lchec de lexcution de celle-ci. Enfin, la tche Send Mail (flche rouge) sexcutera si lexcution de la tche Data Flow a chou. Plus simplement : Flche verte = succs Flche rouge = chec Flche bleue = Dernire tape (Completion en anglais) Si ces trois options ne suffisent pas, il est possible de rajouter des restrictions grce aux expressions et aux options de lditeur de contrainte de prcdence :

Dotnet France Association

SSIS Implmenter un flux

Nous allons maintenant dtailler le contenu de ce menu : La premire chose choisir est lopration dvaluation (Evaluation operation), quatre choix soffrent nous : Contrainte (Constraint) : Cest loption par dfaut, on choisit simplement lune des trois options vues plus haut (Succs, chec, dernire tape) Expression : On rentre une expression et lexcution de la tche lie ne se fera que si le contenu de lexpression est valu true(vrai). Expression et Contrainte : Pour que lexcution de la tche lie se produise, il faut que loption slectionne soit renvoye (succs, chec ou dernire tape) ET que le contenue de lexpression soit valu true(vrai). Expression ou Contrainte : Lexcution de la tche lie se fera si loption slectionne est renvoye (succs, chec ou dernire tape) OU si le contenu de lexpression est valu True(vrai).

Le menu Multiple constraints en bas de la capture dcran permet de dterminer le comportement de la tche si cette dernire plusieurs flches de prcdence connectes : Deux options sont disponibles : - ET logique : Toutes les flches de prcdence doivent sexcuter avec succs. - OU logique : Au moins une des flches de prcdence doit sexcuter avec succs.

Dotnet France Association

SSIS Implmenter un flux Il est possible de mettre des tches de flux de contrle sans les raccorder dautres tches, ces dernires ne sont donc pas lies lvolution du reste du package et ne sont pas soumises un ordre dexcution particulier.

Dotnet France Association

SSIS Implmenter un flux

3 Implmenter un flux de contrle


Il existe deux types de tches dans SSIS : Les tches du flux de contrles qui sont le squelette de notre package. Ces tches permettent de traiter toutes les options ne concernant par directement les donnes dplacer et transformer. Les tches du flux de donnes reprsentent toutes les tches qui vont dplacer les donnes, les modifier, les remplacer, etc... La tche Flux de donnes est une tche du flux de contrle qui va comprendre toutes nos tches du flux de donnes.

Nous allons dans cette premire partie dcrire succinctement la plupart des tches du flux de contrle en commenant par les conteneurs et en continuant avec les autres tches.

3.1

Conteneurs du flux de contrle

Les conteneurs sont rangs dans une autre partie que le reste des tches du flux de contrle car ce sont des tches particulires. Elles contiennent dautres tches du flux de contrle et permettent divers rsultats que nous allons dtailler. 3.1.1 Conteneur de boucle For

Le conteneur de boucle For permet la rptition des tches quil contient. Ce conteneur est proche dune boucle For en C# ou en C. Voici une capture dcran dune boucle For contenant deux tches, une tche SQL et une tche flux de donnes. Le conteneur va permettre de rpter plusieurs fois ces deux tches.

Afin de comprendre la configuration de ce conteneur, nous allons nous intresser une capture dcran :

Dotnet France Association

SSIS Implmenter un flux

Le nombre de fois o le contenu de la boucle For est excut est dtermin par trois proprits : InitExpression, EvalExpression et AssignExpression. Nous pouvons voir ces proprits dans la partie For Loop Properties ci-dessus. LInitExpression est excut en premier au dbut de la boucle pour initialiser la variable qui contrle le conteneur. Ensuite lEvalExpression est value, si elle est value True, le contenu de la boucle est excut. Si elle est value false, lexcuteur quitte la boucle. Aprs chaque excution du contenu de la boucle, lAssignExpression est value, suivi dune nouvelle valuation de lEvalExpression. Dans notre capture dcran, le conteneur de boucle For utilise la variable @Compteur dans les expressions afin de contrler le nombre dexcution de la boucle. En ralit, il nest pas ncessaire dutiliser une variable explicite, toute expression value true quand la boucle doit continuer et false si elle doit sarrter conviendra.

Dotnet France Association

10

SSIS Implmenter un flux 3.1.2 Conteneur de boucle Foreach Comme la boucle For, la boucle Foreach fournit un moyen de rpter une partie dun flux de contrle. Cependant, au lieu davoir une expression pour contrler la sortie de la boucle, la boucle Foreach utilise un systme ditration pour chaque item dune collection. On peut utiliser les collections suivantes : Chaque fichier dans un dossier donn correspondant type de fichier spcifi. Chaque ligne de la premire table dans un recordset ADO ou un dataset ADO.NET. Chaque ligne de toutes les tables dans un dataset ADO.NET. Chaque table dans un dataset ADO.NET. Chaque lment dune variable contenant une collection. Chaque nud (node) dans une liste de nud (nodelist) XML. Chaque objet dans une collection SMO (SQL Server Management Objects).

On peut par exemple utiliser une boucle Foreach afin duploader tous les fichiers dun rpertoire sur un serveur FTP. 3.1.3 Conteneur de squence Contrairement aux deux conteneurs prcdents, le conteneur de squence ne modifie pas la trame du package, il permet simplement dorganiser les tches de nos packages. Le conteneur de squence permet par exemple dorganiser un gros package en sections pour faciliter le dveloppement et le debugging. De plus, il est possible de dfinir des proprits communes pour les tches appartenant un mme conteneur. Il fournit galement un moyen simple davoir diffrentes portes au sein de nos packages.

Voici un aperu de trois conteneurs de squence dont deux ayant leur contenu masqu.

Dotnet France Association

11

SSIS Implmenter un flux

3.2 Elments du flux de contrle


Maintenant que nous avons vu les diffrents conteneurs prsents, nous allons tudier toutes les tches du flux de contrle en commenant par les lments du flux de contrles, suivies des tches du plan de maintenance. 3.2.1 Tche de flux de donnes

3.2.1.1 Tche de flux de donnes La tche de flux de donnes comprend toutes les tches pour la transformation des donnes. Elle se configure dans longlet Flux de donnes, la partie suivante sera centre sur ces tches et leurs utilisations. Un flux de donnes reprsente les colonnes dune table ou dune vue. Il peut y avoir plusieurs flux de donnes dans un mme package. 3.2.2 Tches de prparation des donnes

3.2.2.1 Tche de systme de fichiers La tche de systme de fichiers nous permet deffectuer les actions suivantes : Copier un rpertoire Copier un fichier Crer un rpertoire Supprimer un rpertoire Supprimer le contenu dun rpertoire Supprimer un fichier Dplacer un rpertoire Renommer un fichier Dfinir les attributs dun rpertoire ou dun fichier

Nous devons crer une connexion vers le fichier source ou le rpertoire source avec lequel nous souhaitons interagir. Il faut galement spcifier une connexion vers la destination si cela est ncessaire (Copie, dplacement).

Dotnet France Association

12

SSIS Implmenter un flux

Ci-dessus lditeur de la tche de systme de fichiers. 3.2.2.2 Tche FTP La tche FTP nous permet deffectuer les actions suivantes sur un domaine FTP : Envoyer des fichiers Recevoir des fichiers Crer un rpertoire local Crer un rpertoire distant Supprimer un rpertoire local Supprimer un rpertoire distant Supprimer des fichiers locaux Supprimer des fichiers distants

Dotnet France Association

13

SSIS Implmenter un flux

Les tapes de la configuration sont : Dans le menu gnral de lditeur, dfinir la connexion FTP grce ladresse de votre domaine FTP, votre login et votre mot de passe. Dans le menu Transfert de fichier (File Transfer), le LocalPath dfinit le fichier copier lorsquon veut envoyer des fichiers (Send Files), dautres options sont disponibles dans la partie Operation. Il faut galement remplir le RemotePath, qui est le dossier dans lequel vos fichiers seront uploads sur le serveur FTP.

Dotnet France Association

14

SSIS Implmenter un flux 3.2.2.3 Tche de service Web La tche de service Web nous permet dexcuter un service Web lintrieur de notre package. Il faut pour cela crer une connexion http. Ensuite nous slectionnons la mthode web que lon souhaite utiliser.

Dotnet France Association

15

SSIS Implmenter un flux 3.2.2.4 Tche XML La tche XML nous permet de manipuler des documents XML. Grce cette tche, il est possible deffectuer les actions suivantes : Valider un document XML en utilisant un XSD (XML Schema Document) ou un DTD (Document Type Definition). Appliquer une XSL Transformation (XSLT) Appliquer une requte XPath Fusionner deux documents XML Trouver les diffrences entre deux documents XML (Diff Operation) Appliquer sortie dune opration Diff

Le document XML source peut tre li la tche grce au gestionnaire de connexion, par une variable du package ou entr directement. Le document XML rsultant dune opration peut tre sauv dans un fichier texte spcifi ou sauvegard dans une variable du package.

Dotnet France Association

16

SSIS Implmenter un flux 3.2.2.5 Tche de profilage des donnes Cette tche calcule diffrents profils en rcoltant les informations dun ensemble de donnes. Nous pouvons ainsi dtecter tout problme au sein de ces donnes. Nous pouvons effectuer les oprations de profilage suivantes : Profil de cl candidate : Dtermine si une colonne ou un ensemble de colonnes est un identifiant unique pour la table slectionne. Profil de distribution de longueurs de colonne : Fournit une liste des diffrentes longueurs des chanes de caractres prsentes dans une colonne. Profil de ratio de colonne Null : Rapporte le nombre de NULLs dans une colonne. Profil de modle de colonne : Dtermine un ensemble dexpressions rgulires qui sont valides pour un pourcentage spcifi de valeurs dans une colonne de chane. Profil de statistiques de colonnes : Trouver la valeur maximale et minimale, la moyenne et lcart type pour des colonnes numriques, ainsi que la valeur maximale et minimale pour des colonnes Datetime. Profil de distribution de valeurs de colonne : Renvoie les diffrents ensembles de valeurs dans une colonne et le pourcentage doccurrence de chaque valeur. Profil de dpendance fonctionnelle : Signale le degr de dpendance entre les valeurs dune colonne et une autre colonne ou un ensemble de colonnes. Profil dinclusion de valeur : Calcule le nombre de valeurs communes entre une ou plusieurs colonnes.

Dotnet France Association

17 3.2.3 Tches de flux de travail

SSIS Implmenter un flux

3.2.3.1 Tche dexcution de package Cette tche nous permet dinclure un package Integration Services lintrieur dun autre. Nous disons alors que le package qui contient la tche dexcution de package est le package pre, et celui qui est li la tche est le package fils. Nous pouvons voir ci-dessous lditeur de la tche dexcution de package, nous pouvons y rentrer plusieurs paramtres : Une connexion vers le package fils, le nom du package, le password, et la dernire option, ExecuteOutOfProcess permet de dissocier le processus dexcution du package fils et du package pre. Ainsi, si nous mettons cette option True, le package fils ne sexcutera pas dans le mme processus que le package pre et les erreurs du package fils nont pas dinfluence sur le package pre et son bon droulement.

Dotnet France Association

18

SSIS Implmenter un flux 3.2.3.2 Tche dexcution de processus La tche dexcution de processus permet lexcution dun programme ou dun fichier batch. Nous pouvons par exemple utiliser cette tche pour dzipper des fichiers compresss, excuter des applications de gestions, etc.

Ci-dessus, lditeur de la tche dexcution de processus. Voici une liste des lments configurer : Executable : Dfinit le chemin daccs lexcutable. Arguments : Une des deux mthodes pour fournir une entre lapplication lorsquelle est excute. Pour passer plusieurs arguments, il faut utiliser des espaces pour les dlimiter. Il est galement possible dutiliser une expression pour passer une valeur variable en argument. Exempe : @Var1 + " " + @Var2 Working Directory (Rpertoire de travail) : Dfinit le chemin daccs au rpertoire de travail de notre application. StandardInputVariable : La deuxime mthode pour fournir une entre notre application, il faut pour cela spcifier une variable. StandardOutputVariable : Option permettant de dfinir des variables pour exploiter la sortie de lapplication.

Dotnet France Association

19

SSIS Implmenter un flux StandardErrorVariable : Option permettant de dfinir des variables pour exploiter la sortie derreur de lapplication. Nous pouvons aussi spcifier un dlai dattente ou une valeur pour sassurer que lexcution sest bien passe.

3.2.3.3 Tche MSMQ La tche MSMQ (MicroSoft Message Queue) nous permet dutiliser Message Queuing pour envoyer ou recevoir des messages entre diffrents packages SSIS ou pour envoyer des messages une file dattente traite par une autre application. Lutilisation de MSMQ permet de coordonner toute une entreprise en retardant par exemple lexcution dune tche tant que toutes les tches ncessaires son excution ne sont pas termines. Un message peut tre un fichier de donnes, une ou plusieurs variables ainsi que leur contenu, ou encore une chane de caractres.

Pour la configuration, il suffit de crer une connexion vers une file dattente de la manire suivante : <Nom_ordinateur>\<Nom_File_Attente> ou encore .\<Nom_File_Attente> si la file dattente est sur lordinateur local. Ensuite, nous rajoutons le type du message et le message.

Dotnet France Association

20

SSIS Implmenter un flux 3.2.3.4 Tche Envoyer un message La tche Envoyer un message permet lenvoi dun message depuis notre package, il est ainsi possible de signaler les erreurs ladministrateur pour que celui-ci y remdie rapidement. La configuration se fait en quelques tapes : Crer la connexion vers le serveur SMTP Dfinir lmetteur ainsi que le destinataire Rentrer un sujet Taper notre message Choisir la priorit et joindre des fichiers si ncessaire

Dotnet France Association

21

SSIS Implmenter un flux 3.2.3.5 Tche Lecteur de donnes WMI La tche Lecteur de donnes WMI permet lexcution dune requte WMI (Windows Management Instrumentation) pour obtenir les informations dun ordinateur spcifi. Cela peut-tre une liste des applications installes, les composants matriels de lordinateur, etc. Pour configurer cette tche, nous crons une connexion vers lordinateur dont ou souhaite obtenir des informations, puis on rentre la requte et enfin la destination des donnes renvoys.

Dotnet France Association

22

SSIS Implmenter un flux 3.2.3.6 Tche Observateur dvnement WMI La tche Observateur dvnements WMI (Windows Management Instrumentation) observe les vnements en utilisant une requte dvnements WQL (Management Instrumentation Query Language) pour dfinir quels sont ceux qui peuvent tre intressants. Nous pouvons par exemple attendre quun fichier ait fini dtre dplac pour poursuivre lexcution du package, ou bien attendre la fin de linstallation dune application. 3.2.4 Tches SQL Server

3.2.4.1 Tche dinsertion en bloc Cette tche nous permet de copier rapidement des donnes dun fichier texte dans une table ou un vue SQL Server. Nous spcifions pour cela la base de donnes de destination (connection) ainsi que la table(DestinationTable), puis nous ajoutons le fichier qui contient les donnes transfrer (File). Attention, pour cette tche, le ficher source est toujours un fichier texte.

Ci-dessus, le menu Connexion de la tche dinsertion en bloc.

3.2.4.2 Tche dexcution de requtes SQL La tche dexcution de requtes SQL permet lexcution dinstructions ou de procdures SQL. La tche peut contenir une seule ou plusieurs instructions SQL (lexcution se fait alors de manire squentielle). Dotnet France Association

23

SSIS Implmenter un flux

Cette tche peut tre utilise pour : Tronquer une table ou une vue pour la prparer linsertion de donnes. Crer, modifier et supprimer des objets de base de donnes (tables ou vues). Recrer des tables de faits et de dimensions avant dy charger des donnes. Excuter des procdures stockes. Enregistrer dans une variable lensemble de lignes retourn par une requte.

Voici les tapes suivre pour configurer cette tche (Vous pouvez voir lditeur de cette tche plus bas) : Dfinir le type de gestionnaire de connexions utiliser pour tablir la connexion une base de donnes. Prciser le type d'ensemble de rsultats retourn par l'instruction SQL. Spcifiez un dlai d'expiration pour les instructions SQL. Dfinir la source de l'instruction SQL. Indiquez si la tche passe la phase de prparation de l'instruction SQL. Si nous utilisons le type de connexion ADO, nous devons indiquer si linstruction SQL est une procdure stocke. Pour les autres types de connexions, le paramtrage est automatique et en lecture seule

Dotnet France Association

24

SSIS Implmenter un flux

3.2.4.3 Tche de transfert de bases de donnes La tche de transfert de bases de donnes permet de copier ou dplacer une base de donnes entre deux instances SQL Server. 3.2.4.4 Tche de transfert de messages derreur Cette tche transmet des messages derreurs entre des instances de SQL Server. 3.2.4.5 Tche de transfert de travaux La tche de transfert de travaux transfert des travaux d'agent SQL Server entre des instances de SQL Server. 3.2.4.6 Tche de transfert de connexions Cette tche permet de transfrer une ou plusieurs connexions entre des instances de SQL Server. 3.2.4.7 Tche de transfert de procdures stockes de master Cette tche transfert des procdures stockes de master entre des bases de donnes master sur des instances de SQL Server. 3.2.4.8 Tche de transfert dobjets SQL Server Cette tche transfert un ou plusieurs types dobjets dune base de donnes SQL Serveur entre des instances SQL Server. On peut par exemple copier des tables ou des vues. 3.2.5 Tches de script

3.2.5.1 Tche de script La tche de script permet dintgrer du code .NET dans notre package SSIS. Cette tche est similaire la tche de script ActiveX, en effet, ces deux tches peuvent effectuer des transformations, faire des calculs complexes et implmenter une logique mtier qui ne peuvent tre cres en utilisant dautres tches SSIS. Cependant, la tche de script est suprieur la tche de script ActiveX, le codage se fait plus simplement et la code est prcompil ds que le script est enregistr, ce qui augmente les performances lors de lexcution du package. La configuration de cette tche est assez simple, il suffit de spcifier quel langage nous souhaitons utiliser (C# ou VB), les variables que nous ne pouvons pas modifier(ReadOnlyVariables) et les variables que nous pouvons modifier(ReadWriteVariables). Il faut ensuite taper le code en cliquant sur Edit Script .

Dotnet France Association

25

SSIS Implmenter un flux

3.2.6

Tches Analysis Services

3.2.6.1 Tche DDL dexcution de SQL Server Analysis Services Cette tche nous permet dintervenir sur un serveur Analysis Services en modifiant ou en supprimant les objets multidimensionnels comme les cubes et les dimensions. Pour cela, la tche utilise des requtes DDL (Data Definition Language) qui sont crites en AASL (Analysis Services Scripting Language) puis insres dans une commande XMLA (XML for Analysis Services).

Dotnet France Association

26

SSIS Implmenter un flux

Voici le menu de la tche DDL dexcution de SQL Server Analysis Services, cette tche utilise un gestionnaire de connections Analysis Services pour se connecter une instance Analysis Services. Ensuite nous choisissons entre Direct input, o nous tapons directement notre requte, file connection, qui se connecte un fichier contenant la requte, ou variable, o nous dfinissons la source par une variable.

3.2.6.2 Tche de traitement dAnalysis Services La tche de traitement dAnalysis Services nous permet de traiter les objets Analysis Services, comme les cubes, les dimensions et les modles dexploration de donnes (Datamining). Nous lutilisons en gnral lorsquun grand nombre de changement ont t fait dans la base de donnes.

Dotnet France Association

27

SSIS Implmenter un flux

3.2.6.3 Tche de requte dexploration de donnes Cette tche fournit des prdictions grce lutilisation de requtes de prdictions bases sur les modles dexploration de donnes intgrs Analysis Services. Les requtes sont crites en DMX (Data Mining Extensions) qui est une extension du langage SQL prenant en charge lutilisation de modles dexploration de donnes. Le DataMining sera dtaill dans le cours Analysis Services.

Dotnet France Association

28

SSIS Implmenter un flux

Ci-dessus, le menu principal de la tche de requte dexploration de donnes.

3.2.7

Tches de compatibilit descendante

3.2.7.1 Tches de script ActiveX Les tches de script ActiveX permettent de dfinir des scripts en VBScript ou en Javascript. Cette tche est fournie uniquement des fins de compatibilit avec le composant DTS (Data Transformation Services, lanctre de SSIS). En effet, cette tche prsente des dsavantages par rapport une tche de script, elle est interprte lors de lexcution du package contrairement une tche de script qui est prcompile. De plus, la tche de script ActiveX prsente des problmes de scurit en permettant laccs aux serveurs. Pour finir, cette tche ne fournit aucune aide la programmation. Elle permet cependant deffectuer des calculs complexes, et dintgrer une logique mtier au sein du package.

Dotnet France Association

29

SSIS Implmenter un flux

Ci-dessus, le menu de script de la tche de script ActiveX, on peut y choisir le langage (Javascript ou VBScript), entrer un script ou limporter et dterminer le point dentre de notre script.

Dotnet France Association

30

SSIS Implmenter un flux

3.3 Tches du plan de maintenance


En plus des conteneurs de boucles et outils du flux de contrle, longlet du flux de contrle possde galement les tches du plan de maintenance. Comme leur nom lindique ces tches font partie du plan de maintenance dune base de donnes. Il est possible de voir sur chaque tche les requtes SQL excuts lorsque nous utilisons la tche. Lorsque la configuration nest pas explique, cela signifie quelle est similaire la premire explique. 3.3.1 Tche Sauvegarder la base de donnes Cette tche permet lintgration dune sauvegarde de la base de donnes au sein de notre package. On lutilise par exemple avant deffectuer de gros changements dans notre base de donnes. Grce cette tche, on peut inclure dans le mme package et donc durant la mme excution une tche pour sauvegarder les donnes et une autre pour les modifier.

Dotnet France Association

31

SSIS Implmenter un flux Pour configurer cette tche, nous crons dabord une connexion vers le serveur, nous pouvons ensuite choisir le nombre que lon souhaite de base de donnes sauvegarder sur cet unique serveur. Nous choisissons le type de sauvegarde, Full, Differential ou Transaction Log. La sauvegarde peut se composer dun seul fichier ou de plusieurs (Un par base de donnes).

3.3.2

Tche Vrifier lintgrit de la base de donnes La tche vrifier lintgrit de la base de donnes vrifie si une ou plusieurs bases de donnes sur un mme serveur sont corrompues. Cette tche excute en fait la commande suivante DBCC CHECKDB WITH NO_INFOMSGS pour chaque base de donnes spcifie. Cette tche peut tre utilise par exemple aprs de grosses modifications dans une base de donnes.

La configuration est simple, nous crons la connexion vers le serveur et nous spcifions les bases de donnes inspecter. Si linspection ne dtecte pas de donnes corrompues, la tche est considre comme un succs et seules les tches lies avec une contrainte de prcdence succeed ou completion seront excutes. Si linspection dtecte des donnes corrompues, ce sera les tches lies par une contrainte dchec.

Dotnet France Association

32 3.3.3

SSIS Implmenter un flux Tche Excuter le travail de lAgent SQL Server Cette tche nous permet deffectuer un travail spcifique lintrieur de notre package. Un seul travail peut tre slectionn pour lexcution.

Il suffit de crer la connexion puis de slectionner le travail. 3.3.4 Tche Excuter linstruction T-SQL Cette tche nous permet dexcuter une ou plusieurs instructions T-SQL

Dotnet France Association

33 3.3.5

SSIS Implmenter un flux Tche de nettoyage dhistorique La tche de nettoyage permet la suppression des historiques dune base de donnes. Cela inclut les historiques de sauvegarde, les historiques de travail de lagent SQL, et les historiques du plan de maintenance de base de donnes.

3.3.6

Tche de nettoyage de maintenance La tche de nettoyage de maintenance supprime les fichiers cres par le plan de maintenance de base de donnes et les sauvegarde de bases de donnes.

Dotnet France Association

34

SSIS Implmenter un flux

3.3.7

Tche Notifier loprateur Cette tche envoie un e-mail un ou plusieurs oprateurs SQL Server utilisant SQLiMail. Un oprateur doit tre install avec une adresse e-mail in SQL Server avant de pouvoir utiliser cette tche. Bien entendu, SQLiMail doit tre install et configur pour cette tche pour fonctionner.

Dotnet France Association

35

SSIS Implmenter un flux

3.3.8

Tche Reconstruire lindex La tche Reconstruire lindex reconstruit les index dune ou plusieurs bases de donnes. Cela oblige les serveurs SQL supprimer leurs index pour les reconstruire.

Dotnet France Association

36

SSIS Implmenter un flux

3.3.9

Tche Rorganiser lindex La tche Rorganiser lindex rorganise les index dans une ou plusieurs bases de donnes. Rorganiser les index dfragmente les lments des index groups et des index non groups. De plus, cela compresse les index.

Dotnet France Association

37

SSIS Implmenter un flux 3.3.10 Tche Rduire la base de donnes Cette tche permet la rcupration des emplacements des tables non utiliss dans une ou plusieurs bases de donnes. Nous pouvons dterminer si cet espace libr est rendu au systme dexploitation ou sil est gard par la base de donnes.

3.3.11 Tche Mettre jour les statistiques Cette tche nous permet de mettre jour les statistiques dans une ou plusieurs bases de donnes. Etant donn que les bases de donnes sont utilises par SQL Server pour calculer les plans dexcution des requtes, cest important que ces statistiques soient jour.

Dotnet France Association

38

SSIS Implmenter un flux

4 Implmenter un flux de donnes


Nous avons donc vu toutes les tches du flux de contrle, nous allons maintenant tudier les tches du flux de donnes qui vont nous permettre de modifier nos donnes. Nous allons commencer par voir les tches nous permettant de dfinir les sources de nos donnes. Nous verrons ensuite les tches de transformation des donnes, puis enfin, nous analyserons les tches permettant de slectionner les destinations de nos donnes.

4.1 Source de flux de donnes


4.1.1 Source ADO.net La tche Source ADO.net permet lutilisation dADO.NET afin de se connecter une base de donnes source.

Pour utiliser cette tche, il faut crer une connexion vers les donnes source. Une fois que cette connexion a t cre, nous avons le choix entre deux types daccs aux donnes. Soit par le mode Table or view (Table ou vue) soit par le mode SQL command, autrement dit grce une requte SQL. Si nous choisissons le mode Table or view, il nous suffira ensuite de slectionner la table ou la vue utiliser.

Dotnet France Association

39

SSIS Implmenter un flux Si nous choisissons le mode SQL Command, nous devons ensuite choisir de quel faon nous allons utiliser cette mthode. Tout dabord, nous pouvons rentrer directement notre requte dans lespace cet effet, dans ce cas, il nous faut bien connatre la structure de la base de donnes et tre laise avec la syntaxe des requtes SQL. Sinon, il est possible dutiliser le SQL Server Management Studio puis de sauvegarder la requte. Nous allons ensuite la chercher avec la fonction browse de notre tche. Enfin, nous pouvons utiliser le gnrateur de requte (Query Builder). Nous parlerons plus tard du Gnrateur de requte, lorsque nous travaillerons sur la source OLE DB.

Longlet Colonne ci-dessus, utilise les informations de longlet Connection Manager ds que nous louvrons. Nous pouvons y voir les colonnes de notre table ou de notre vue.

Dotnet France Association

40 4.1.2

SSIS Implmenter un flux Source Excel La tche Source Excel nous permet dutiliser un fichier Excel comme source de donnes. Il nous faut crer une connexion vers le fichier Excel utiliser. Laccs aux donnes peut se faire selon les deux mthodes vu dans la tche Source ADO.NET, plus deux autres : Table name or view name variable (Une table ou une vue spcifie dans une variable.) et SQL Command from variable(Les rsultats d'une instruction SQL stocke dans une variable). Lorsque cela est fait, longlet Columns affiche les colonnes de notre fichier Excel.

Dotnet France Association

41 4.1.3

SSIS Implmenter un flux Source de fichier plat Cette tche permet lutilisation de fichiers texte comme source de donnes. Comme pour les autres tches, nous devons crer une connexion vers le fichier plat utiliser. Nous pouvons indiquer la dlimitation des colonnes au sein de notre fichier plat de nombreuses manires.(tab, virgule, etc.).

Dotnet France Association

42

SSIS Implmenter un flux Nous pouvons voir un aperu de la mise en forme des colonnes dans longlet Column et spcifier quelques options supplmentaires.

Dotnet France Association

43

SSIS Implmenter un flux Longlet Advanced nous permet de dfinir les proprits de nos colonnes.

Enfin longlet Preview offre un aperu du rendu.

Dotnet France Association

44 4.1.4

SSIS Implmenter un flux Source OLE DB La tche Source OLE DB permet lutilisation de donnes de nimporte quelle source qui supporte lutilisation dOLE DB. Pour rappel, OLE DB est une interface de programmation(API) dvelopp par Microsoft pour laccs aux donnes. La configuration est trs proche de ce que nous avons dj vu.

Dotnet France Association

45 4.1.5

SSIS Implmenter un flux Source de fichier brut La tche Source de fichier brut nous permet dutiliser des donnes stockes dans un fichier brut. Le format de fichier brut est le format de base pour Integration Services. En raison de cela, laccs ce type de fichiers se fait rapidement par SSIS.

4.1.6

Source XML Comme son nom le laisse supposer, la tche Source XML permet dutiliser les donnes stockes dans des fichiers XML dans le flux de donnes. Si le XML provient dun fichier, il suffit de spcifier le chemin daccs ou obtenir le chemin du fichier grce une variable au moment de lexcution. Il est galement possible de spcifier le chemin daccs dun XSD qui dfinit la structure de notre XML.

Dotnet France Association

46

SSIS Implmenter un flux

Le reste des onglets fonctionne de la mme faon que prcdemment.

Dotnet France Association

47

SSIS Implmenter un flux

4.2 Transformation du flux de donnes


A prsent que nous avons vu comment dfinir les sources de nos donnes, nous allons voir comment transformer ces donnes. Tout dabord, nous verrons les transformations propres la Business Intelligence, puis les transformations de lignes et densemble de lignes. Ensuite, nous tudierons les transformations de fractionnement et jointure et nous finirons avec les audits de transformation.

4.2.1

Transformations Business Intelligence

4.2.1.1 Transformation de dimension variation lente La tche de transformation de dimension variation lente permet de coordonner la mise jour et linsertion de donnes dans les tables dun entrept de donnes. Cette tche dispose dun assistant pour sa configuration, il suffit de suivre les tapes et de remplir correctement les options. 4.2.1.2 Transformation de regroupement probable La transformation de regroupement probable permet de trouver des groupes de lignes du flux de donnes bases sur des recherches non-exact. Nous pouvons par exemple lutiliser pour trouver des lignes dupliques. 4.2.1.3 Transformation de recherche floue La tche de transformation de recherche floue permet deffectuer des recherches en utilisant une logique de correspondance floue. Cette tche utilise donc la correspondance floue pour renvoyer un ou plusieurs rsultats dont la correspondance est proche de la table de rfrence. 4.2.1.4 Transformation dextraction de terme La tche transformation dextraction de terme permet lextraction dune liste de mots et de phrases partir dune colonne contenant du texte et en compte galement le nombre doccurrence. Cette tche ne peut extraire que deux types dlments : des noms seuls et des expressions nominales qui sont composes dau moins deux mots, un nom et un adjectif/un autre nom. De plus, elle a deux limitations importantes : Elle ne peut effectuer des extractions que sur les types de donnes DT_WSTR et DT_NTEXT et ne fonctionne que sur des textes en anglais. Pour configurer cette tche, nous commenons par slectionner la colonne dont nous souhaitons extraire des termes. Puis on spcifie le terme rechercher et le nom de la colonne de sortie. Longlet dexclusion permet de prciser un nom de table ou de vue qui contient une liste des termes ou des phrases exclure. Enfin, le dernier onglet nous permet de configurer le type de terme que lon souhaite obtenir (Nom, expression nominale, ou les deux) et les options de frquence. Par exemple, si lon spcifie le type de terme nom, nous obtiendrons des noms : maison, voiture, etc. Si on spcifie le type expression nominale nous obtiendrons : grosse maison, voiture bleu, etc. Enfin si on spcifie nom et expression nominale, nous obtiendrons les deux types dexemples du dessus. 4.2.1.5 Transformation de recherche de terme La tche transformation de recherche de terme fait une correspondance entre les termes dune table et ces mmes termes contenus dans un texte. Elle compte ensuite le nombre doccurrence des termes de la table dans le texte spcifi et les envoie avec le terme correspondant dans la colonne de sortie. Pour configurer cette tche, nous crons une connexion vers une base de Dotnet France Association

48

SSIS Implmenter un flux donnes, puis nous spcifions la colonne contenant les termes comparer et la colonne contenant le texte. 4.2.1.6 Transformation de requte dexploration de donnes La tche transformation de requte dexploration de donnes nous permet dexcuter une requte DMX (Data Mining Extensions). En utilisant ce type de requte avec un modle dexploration de donnes, il est possible de faire des prdictions bases sur les donnes du flux de donnes. Les rsultats des requtes sont ajouts en tant que nouvelle colonne dans le flux de donnes.

4.2.2

Transformations de lignes

4.2.2.1 Transformation de la table de caractres La tche de transformation de la table de caractres permet deffectuer des modifications sur les colonnes contenant des chanes de caractres. La colonne modifie peut soit remplac celle utilis avant la transformation soit tre ajoute en tant que nouvelle colonne. Nous pouvons effectuer les modifications de chane de caractres suivantes : Lowercase (Minuscule) : Met tous les caractres en minuscule. Uppercase (Majuscule) : Met tous les caractres en majuscule. Byte Reversal (Inversion doctet) : Inverse lordre des octets de chaque caractre. Hiragana : Mappe des caractres katakana avec des caractres hiragana. Katakana : Mappe des caractres hiragana avec des caractres katakana. Half width (Demi-chasse) : Mappe des caractres pleine chasse avec des caractres demichasse. Full Width (Pleine chasse) : Mappe des caractres demi-chasse avec des caractres pleine chasse. Linguistic casing (Casse Linguistique) : Applique la casse linguistique la place de la casse Systme. Traditional Chinese (Chinois traditionnel) : Mappe des caractres de chinois simplifi avec des caractres de chinois traditionnels.

Nous pouvons utiliser plusieurs transformations sur la mme colonne, cependant, certaines transformations sont exclusives, cela na par exemple aucun sens dappliquer la transformation Majuscule et la transformation Minuscule la mme colonne. Longlet Error Outpur de cette tche nous permet de dfinir le comportement de la tche lorsquil y a une troncation dune chane de caractres au sein dune colonne. Ci-dessous, lditeur de la tche.

Dotnet France Association

49

SSIS Implmenter un flux

4.2.2.2 Transformation Copie de colonnes La tche transformation Copie de colonnes cre de nouvelles colonnes en copiant des colonnes existantes. Nous pouvons ensuite utiliser ces copies pour des calculs, des transformations ou des mappages.

Dotnet France Association

50

SSIS Implmenter un flux

Ci-dessus, lditeur de la tche Copie de colonnes, nous avons copi la colonne Nom et avons nomm la nouvelle colonne Test.

Dotnet France Association

51

SSIS Implmenter un flux 4.2.2.3 Transformation de conversion de donnes La tche Transformation de conversion de donnes permet de convertir des colonnes dun type de donnes un autre. Ci-dessous, un aperu de la transformation de deux colonnes de type DT_STR (chane de caractres) en type DT_DATE pour lun et en DT_UI1 pour lautre. Pour rappel, le chapitre 2 : Variables et expressions contient une liste de tous les types de donnes de SSIS.

Dotnet France Association

52

SSIS Implmenter un flux 4.2.2.4 Transformation de colonne drive La tche de transformation de colonne drive permet dintgrer des valeurs drives obtenues partir dexpressions. Il est possible dutiliser des variables SSIS ou le contenu des colonnes du flux de donnes. Les valeurs obtenues peuvent soit remplacer les valeurs utilises soit tre ajouts de nouvelles colonnes.

Nous avons ci-dessus lditeur de la transformation de colonne drive, nous avons cre une nouvelle colonne Exp calculant la fonction exponentielle sur les lments de la colonne Carr qui contient le carr des lments de la colonne Moyenne.

4.2.2.5 Transformation dexportation de colonne La tche Transformation dexploration de colonne peut lire les donnes du flux de donnes puis les insrer dans un fichier. Par exemple, si on souhaite une liste dimages de produits, nous pouvons utiliser cette tche pour enregistrer les images dans des fichiers. La configuration est trs simple, je ne la dtaillerai donc pas.

Dotnet France Association

53

SSIS Implmenter un flux 4.2.2.6 Transformation dimportation de colonne La tche Transformation dimportation de colonne permet dimporter le contenu dun ensemble de fichiers et de les insrer dans une colonne dimage ou de texte du flux de donnes. Comme pour lexportation, la configuration est simple. Il est cependant ncessaire davoir une colonne contenant le nom des fichiers importer au sein de notre flux de donnes.

4.2.2.7 Composant Script La tche Composant Script nest pas rellement une tche de transformation malgr sa position dans SSIS. En effet, elle peut servir de tche de transformation si code comme telle. Mais nous pouvons galement nous en servir comme source ou comme destination. En tant que source, nous pouvons par exemple lutiliser afin de lire un type de fichier support par aucune connexion de SSIS. De mme, en tant que destination, elle permet dcrire des donnes sur des formats nonsupports par SSIS. Et bien entendu, elle peut servir de tche de transformation pour effectuer des actions particulirement prcises qui ne sont pas disponibles avec dautres tches.

Comme nous pouvons le voir ci-dessus, il est ncessaire de slectionner une de ces trois options lors de la cration de la tche. Lors de la configuration, il faut galement spcifier les entres et les sorties de nos tches de script. Ensuite, il suffit de coder le script. 4.2.2.8 Transformation de commande OLE DB La tche de transformation de commande OLE DB permet lexcution dune requte SQL pour chaque range dans le flux de donnes. Il ny a que deux choses configurer : dterminer le lieu dexcution de la requte et dfinir la requte. Dotnet France Association

54

SSIS Implmenter un flux

4.2.3

Transformations densemble de lignes

4.2.3.1 Transformation dagrgation La tche Transformation dagrgation permet de combiner des informations dans une unique valeur. Cette tche se rapproche du GROUP BY en SQL. Nous pouvons voir lditeur de cette tche cidessous.

Pour configurer cette tche, nous commenons par choisir les tches sur lesquelles nous souhaitons faire une agrgation. Nous choisissons ensuite le type dopration que nous allons appliquer chacune de nos colonnes. Nous pouvons effectuer les agrgations suivantes : Average : Calcule la moyenne, utilisable uniquement sur des valeurs numriques Count : Renvoie le nombre dlments contenus dans un groupe. Count distinct : Renvoie le nombre de valeurs uniques figurant dans un groupe. Maximum : Renvoie la valeur maximale dun groupe, utilisable uniquement sur des valeurs numriques. Minimum : Renvoie la valeur minimale dun groupe, utilisable uniquement sur des valeurs numriques. Sum : Effectue laddition des valeurs dune colonne. Dotnet France Association

55

SSIS Implmenter un flux

4.2.3.2 Transformation de tri La tche de transformation de tri permet de trier les lignes du flux de donnes. Pour configurer cette tche, nous devons spcifier les colonnes trier ainsi que leur ordre de tri. 4.2.3.3 Transformation de lchantillonnage du pourcentage La tche de transformation de lchantillonnage du pourcentage permet de crer un chantillon dun flux de donnes. Cette tche va slectionner alatoirement un pourcentage de ranges que nous aurons dtermin du flux de donnes et crer une deuxime flux de donnes. Nous aurons ainsi deux flux de donnes, lun tant un exemple chantillon de lautre. Pour configurer cette tche, nous dfinissons le pourcentage et les deux sorties des flux de donnes comme nous pouvons le voir sur le limage ci-dessous.

La dernire option permet de rduire la variabilit du random de la tche, elle nest utilis que lors de tests.

4.2.3.4 Transformation dchantillonnage de lignes La tche de transformation dchantillonnage de lignes est trs similaire la transformation dchantillonnage du pourcentage ci-dessus. En effet, la seule diffrence est quau lieu de dfinir un pourcentage pour dfinir la taille du flux de donnes chantillonn, nous dterminons un nombre de lignes.

Dotnet France Association

56

SSIS Implmenter un flux 4.2.3.5 Transformation de tableau crois dynamique La tche de transformation de tableau crois dynamique transforme un ensemble de donnes normalises en une version moins normalise mais plus compacte grce un croisement dynamique des donnes. Ainsi un flux de donnes entrant contenant de nombreuses lignes ressort de cette tche avec beaucoup moins de lignes grce une agrgation des donnes.

4.2.3.6 Transformation Unpivot La transformation Unpivot permet de transformer des donnes non normalises en donnes normalises. Par exemple, un ensemble de donnes rpertorie des numro de tlphone de clients (chaque client une seule ligne contenant tous ses numros de tlphone : travail,maison,cellulaire). Aprs la normalisation, nous aurons une ligne par numro de tlphone.

4.2.4

Transformations de fractionnement et de jointure

4.2.4.1 Transformation de fractionnement conditionnel La tche de transformation de fractionnement conditionnel permet le fractionnement du flux de donnes et lenvoi des lignes de donnes dans diffrentes sorties. Dans lditeur de cette tche, visible ci-dessous, nous dfinissons des conditions pour chaque branche du fractionnement. Lors de lexcution du package, chaque donne est compar avec la condition. Si elle rpond la premire condition, elle est envoye dans la sortie correspondante, sinon elle passe aux conditions suivantes. Nous allons prendre un exemple pour rendre tout cela plus clair. Nous allons dplacer des lves dans trois destinations diffrentes selon leurs notes. Voici notre flux de donnes :

(Jutilise uniquement des fichiers plats dans cet exemple car ce sont les sources et les destinations les plus simples configurer.)

Dotnet France Association

57

SSIS Implmenter un flux Nous avons donc un fichier plat source qui contient tous les lves, leurs notes et leur classe, notre transformation de fractionnement conditionnel et trois fichiers plats de destination o seront stocks les lves selon leur niveau.

Voici le contenu de notre fichier plat Source :

(Nous utilisons ici des virgules pour sparer nos colonnes, vous pouvez utiliser ce que vous souhaitez tant que vous dfinissez la bonne option dans la configuration de vos fichiers plats.) Et voici lditeur de la tche de fractionnement conditionnel :

Dotnet France Association

58

SSIS Implmenter un flux Nous voyons donc que les lves ayant une moyenne strictement infrieur 10 seront envoys dans le fichier plat Faible, ceux ayant une note suprieur ou gale 10 et infrieur 15 dans le fichier plat moyen et enfin ceux ayant une note suprieur ou gale 15 dans le fichier plat Bon. Aprs lexcution de nos tches, voici le rsultat :

4.2.4.2 Transformation multidiffusion La tche multidiffusion permet dutiliser un unique flux de donnes et de lutiliser comme source pour de nombreux autres flux de donnes. Cette tche copie simplement les donnes et lenvoie dans plusieurs directions. 4.2.4.3 Transformation dunion totale La tche de transformation dunion totale permet de fusionner autant de flux de donnes que lon souhaite. Les donnes nont pas besoin dtre tries, le flux de donnes sortant ne lest donc pas non plus. Presque aucune configuration nest ncessaire avec cette tche, il suffit juste de mapper les colonnes comme nous le souhaitons. 4.2.4.4 Transformation de fusion La transformation de fusion permet de fusionner deux flux de donnes. Pour fusionner proprement, il faut que les deux flux de donnes soient tris de la mme manire. Il est donc intressant dutiliser des tches de tri afin de fournir la tche de fusion des donnes tries. Si vous ne souhaitez pas utiliser de tche de tri, et que vos donnes sont tries de la mme faon, il est possible de dfinir loption IsSorted dans le menu avanc des sources. 4.2.4.5 Transformation de jointure de fusion La transformation de jointure de fusion permet la fusion de deux flux de donnes ensemble en excutant une jointure INNER, LEFT ou FULL. Comme pour la transformation de fusion, les flux de donnes doivent tre tris de la mme manire. Pour configurer cette tche, il suffit de choisir le type de joint que lon souhaite utiliser puis de slectionner les colonnes fusionner.

Dotnet France Association

59

SSIS Implmenter un flux 4.2.4.6 Transformation de recherche La transformation de recherche se rapproche de la transformation de recherche floue, il ny a que le type de recherche qui change, la transformation de recherche ne prend que les rsultats exactes.

4.2.4.7 Transformation du cache La transformation du cache envoie des donnes dans un gestionnaire de connexions du cache qui seront utilises par exemple par une transformation de recherche. Nous pouvons aussi spcifier un enregistrement des donnes dans un fichier cache .caw.

4.2.5

Audit de transformation

4.2.5.1 Transformation daudit La tche transformation daudit nous permet dajouter des colonnes contenant des informations propos de lexcution du package au flux de donnes. Ces colonnes daudit peuvent tre places dans une destination de donnes et fournir ainsi des informations sur lheure de lexcution, sa dure et de nombreux autres lments. Nous pouvons placer les informations suivantes dans les colonnes daudit : Un GUID pour lexcution du package. Lheure du dbut dexcution du package. Le nom de la machine o le package a t excut. Un GUID pour le package. Un GUID pour la tche du flux de donnes. Le nom de la tche du flux de donnes. Le nom dutilisateur. La version du package.

Ci-dessous, nous pouvons voir lditeur de transformation Audit qui ajoute des colonnes contenant le nom de la tche du flux de donnes, le GUID du package, le GUID de lexcution du package et lheure de dbut dexcution du package.

Dotnet France Association

60

SSIS Implmenter un flux

4.2.5.2 Transformation de calcul du nombre de lignes La tche de transformation de calcul du nombre de lignes nous permet de dterminer le nombre de lignes contenues dans le flux de donnes. Ce nombre de lignes est ensuite stocke en tant que variable du package. Nous pouvons ainsi lutiliser dans des expressions pour modifier le flux de contrle ou le flux de donnes.

4.3 Destinations du flux de donnes


Maintenant que nous avons vu les sources et les transformations de SSIS, il ne nous reste plus qu nous intresser aux destinations. Cette partie sera courte car les tches destination sont trs simples utiliser, il suffit en gnral de crer une connexion vers le fichier o nous souhaitons envoyer nos donnes. (Les parties concernant Analysis Services risquent de ne pas tre clair, vous les comprendrez plus tard lorsque vous lirez le cours SQL Server Analysis Services.) 4.3.1 Destination ADO.NET La destination ADO.NET nous permet dutiliser ADO.NET pour nous connecter notre base de donnes de destination. Comme pour toutes les destinations, il suffit de crer une connexion vers la destination. Une fois que cest fait, il faut mapper les colonnes et dfinir la structure du flux de donnes envoyer dans la base de donnes de destination. Dotnet France Association

61 4.3.2

SSIS Implmenter un flux Destination dapprentissage du modle dexploration de donnes Cette tche de destination permet lutilisation dun flux de donnes pour exercer un modle dexploration de donnes (datamining). Exercer les modles dexploration permet ensuite de raliser des prdictions grce des connaissances provenant dun ensemble de donnes. 4.3.3 Destination DataReader La destination DataReader permet lutilisation ADO.NET pour se connecter une base de donnes de destination. (Mme fonction que destination ADO.NET) 4.3.4 Destination de traitement de dimension La destination de traitement de dimension nous permet denvoyer des donnes une dimension SQL Server Analysis Services. Nous pouvons ainsi fournir de nouvelles valeurs dans les dimensions dun cube Analysis Services. 4.3.5 Destination Excel La destination Excel permet lenvoi de donnes dans un fichier Excel. Tout ce quil y a faire est de crer une connexion vers le fichier puis de mapper les colonnes dentre et de sortie. 4.3.6 Destination de fichier plat La destination de fichier plat permet lenvoi de donnes dans un fichier texte. Le seul lment de configuration diffrent des autres tches de destination est le fait de prciser le sparateur de colonnes (, ; tab etc.). 4.3.7 Destination OLE DB La destination OLE DB nous permet de charger des donnes dans des bases de donnes compatibles avec OLE DB. 4.3.8 Destination de traitement de partition La destination de traitement de partition envoie des donnes dans une partition SQL Server Analysis Services. En utilisant cette tche, nous pouvons charger des donnes dans une partition de cube Analysis Services. 4.3.9 Destination de fichier brut La destination de fichier brut permet lcriture des donnes sur un fichier brut. Le format de ces fichiers est le format natif pour SSIS. En raison de cela, ils peuvent tre crits et lus trs rapidement par SSIS. 4.3.10 Destination de lensemble denregistrements La destination de lensemble denregistrements envoie un flux de donnes un enregistrement qui est ensuite stock en tant que variable de package. Lenregistrement peut ainsi tre utilis dans tout le package.

4.3.11 Destination SQL Server Compact Edition La destination SQL Server Compact Edition nous permet denvoyer des donnes dans une base de donnes SQL Server Compact. Les bases de donnes SQL Server Compact sont des versions allges destines aux Smartphones ou PDA quips de Windows Mobile.

Dotnet France Association

62

SSIS Implmenter un flux 4.3.12 Destination SQL Server La destination SQL Server permet dinsrer rapidement et en grosse quantit des donnes dans une table ou une vue dune base de donnes SQL Server local.

Dotnet France Association

63

SSIS Implmenter un flux

5 Conclusion
A prsent, vous avez presque toutes les cls pour le dveloppement de package SQL Server Integration Services. Nhsitez pas crer des packages pour vous entrainer et apprendre maitriser chaque tche. Il ne reste quun chapitre dans cette partie, propos de tout ce que nous navous pas vu propos de SSIS (Debugging, gestionnaire dvnements, historique) puis nous nous intresserons la maintenance dune solution SSIS.

Dotnet France Association