Vous êtes sur la page 1sur 28

Atelier N1 :

Dbuter avec lETL SSIS

My Abdelouahed Sabri

Email : abdelouahed.sabri@gmail.com
Sommaire

I. Introduction ....................................................................................................................... 4
II. LETL SQL Server Integration Services ............................................................................... 4
II.1. Unit de travail SSIS : Package................................................................................... 4
II.2. Les lments dun package SSIS ................................................................................ 5
II.3. ControlFlow ............................................................................................................... 5
II.4. DataFlow.................................................................................................................... 6
II.5. Event Handlers .......................................................................................................... 6
III. Dbuter avec SSIS 2008 ................................................................................................. 6
III.1. Cration dun package SSIS ....................................................................................... 6
III.2. Ajout de connexions au projet .................................................................................. 7
III.3. Cration dun flux de donnes Data Flow ............................................................... 11
III.4. Configuration du flux de donnes Data Flow .................................................... 11
III.5. Extraction des donnes utilisant SSIS ...................................................................... 14
IV. Personnalisation de la tache ....................................................................................... 14
IV.1. Script SQL pour vider la table avant extraction ....................................................... 14
IV.2. Script C# pour afficher un message de dbut du travail ......................................... 15
IV.3. Crer des colonnes drives ................................................................................... 15
IV.4. Exercice : .................................................................................................................. 17
V. Charger plusieurs fichiers plats dans une table SQL Server ............................................ 18
V.1. Configuration de la boucle Foreach ........................................................................ 18
V.2. Configuration des flux de donnes.......................................................................... 19
V.3. Extraction des donnes ........................................................................................... 20
V.4. Exercice.................................................................................................................... 20
VI. Extraire les donnes utilisant une requte SQL .......................................................... 21
VII. Gestion des erreurs ..................................................................................................... 23
VII.1. Premier exemple ................................................................................................. 24
VII.2. Grer les erreurs .................................................................................................. 25
VII.3. Gestion derreur dans le premier exemple ......................................................... 25
VII.4. Gestion derreur avec Event Handlers ........................................................... 27
I. Introduction

Microsoft, SQL Server 2008 est un systme de gestion de bases de donnes


relationnelles (SGBDR). Son moteur de base de donnes permet le stockage, la
manipulation et lanalyse de donnes. En plus, grce au langage T-SQL (Transact-
SQL) il est possible dutiliser les fonctions de la programmation procdurale sur le
moteur de base de donnes.

Pour raliser des projets Bunsines Inteligence (BI), SQL Server 2008 contient trois
plateformes en plus de son moteur, savoir :

SQL Server Integration Services (SSIS): joue le rle dun ETL. Il permet
dintgrer des donnes provenant de diffrentes sources pour les ranger
dans un entrept de donnes (Data Warehouse)
SQL Server Analysis Services (SSAS) : permet danalyser les donnes,
agrges dans le Data Warehouse, grce des fonctions danalyse
multidimensionnelle
SQL Server Reporting Services (SSRS) : permet de crer, grer et publier
des rapports rsultant des analyses ralises lors de SSAS
Dans ce TP et pour pouvoir faire du BI avec SQL Server, il faut installer les outils
suivants :

SQL Server 2008 Entrepise ou professionnel


Visual Studio .Net 2008

II. LETL SQL Server Integration Services

LETL pour objectif dintgrer des donnes partir de diffrentes sources dans
un entrept de donnes (Data Warehouse.). Ainsi, on peut avec SSIS extraire des
donnes provenant de diffrentes sources (Excel, MySQL) et les insrer dans
un SGBD cible.

Normalement, un ETL (Extract-Transform-Loading) nest utilis quaprs avoir


dfinie la structure du Data Warehouse.

II.1. Unit de travail SSIS : Package


Lenvironnement de travail dans un projet SSIS est appel un Package . Ainsi, le
package contient tous les scnarios de l Extraction, Transformation,
Chargement . On peut crer autant de packages quon souhaite pour plusieurs
taches dETL.
II.2.Les lments dun package SSIS
Dans chaque package on trouve 4 parties sous forme donglets (dans un projet
SSIS):

ControlFlow (flux de contrle) : partie oriente contrle. Contient les


diffrentes taches du package (quon peut ordonner). Par exemple, faire
une troncature dune table avant de la remplir.
DataFlow (flux de donnes) : comme le ControlFlow, mais ddi aux
donnes. On peut retrouver dans le DataFlow les tapes de lecture, de
modification et d'criture des donnes.
Event Handlers (Gestionnaires d'vnements) : permettant de grer des
vnements qui peuvent survenir dans les diffrents composants qui
constituent un package SSIS et d'effectuer des actions en fonction de leur
nature.
Package Explorer (Explorateur de package) : dcrit, sous forme
d'arborescence, tous les lments constituant le package et qui permet
d'accder en quelques clics tous les lments du package et leurs
proprits.
II.3.ControlFlow
Cune partie oriente contrle. Elle contient les diffrentes taches du package
(quon peut ordonner). Par exemple, faire une troncature dune table avant de la
remplir.

Parmi les taches de contrle, on trouve :

Data Flow Task : encapsule le moteur DataFlow permettant lextraction de


donnes partir dune source de donnes et une source destination
Script Task (Tche de script) : permet de crer des fonctions (C# ou
VB.Net)
Execute SQL Task : permettant dexcuter des instructions SQL
XML Task : permettant lexcution des oprations XML sur des sources de
donnes de type XML

En, plus de ces taches, on trouve des taches de maintenance :

Check Database Integrity Task : permettant la vrification de lintgrit de


la base de donnes (pages de donnes et pages dindex)
History Cleanup Task : permettant le nettoyage dhistorique

Il est possible de regrouper certaines tches entre elles dans ce quon appelle un
conteneur. Il existe ainsi des conteneurs rptitifs qui permettent de crer une
boucle qui excutera leurs tches un certain nombre de fois :
For Loop Container,
Foreach Loop Container,
Sequence Container)
II.4.DataFlow
Pareil au ControlFlow, mais ddi aux donnes. On peut retrouver dans le
DataFlow les tapes de lecture, de modification et d'criture des donnes.

Cet onglet contient trois types de contrles :

Data Flow Sources : regroupe diffrents type de flux de donnes source.


On y trouve sources de donnes de type Excel, Flat File, OLE DB, XML,
ADO NET
Data Flow Destination : regroupe diffrents types de flux de donnes
destination.
Data Flow Transformations : regroupe diffrent types de transformation :
Agrgation, conversion de donnes, Merge, copie de colonnes
II.5.Event Handlers
Permettant de grer des vnements qui peuvent survenir dans les diffrents
composants qui constituent un package SSIS et d'effectuer des actions en fonction
de leur nature. Ainsi, par exemple, on peut programmer des taches lors dun
vnement OnError .

III. Dbuter avec SSIS 2008

Dans un premier exemple, on va essayer de crer un projet permettant lextraction


des donnes partir dun fichier plat vers une base de donnes SQL Server 2008

III.1. Cration dun package SSIS


1. Lancer MS Visual Studio 20080. Deux faons :

a. Cliquer le menu dmarrer Microsoft SQL Server 2008 SQL


Server Business Intelligence Development Studio

b. Cliquer le menu dmarrer MS Visual Studio 2008 MS Visual


Studio 2008

2. Cliquer le menu Fichier Nouveau Projet

3. Slectionner le type de projet Business Intelligence Projects

4. Dans les modles, slectionner Integration Services Project


5. Entrer le nom du projet, lemplacement et cliquer OK pour crer le
projet SSIS

6. Une fois le projet cre, dans lexplorateur de solution, un package


Package.dtsx est cre par dfaut. On peut crer autant de packages que
ncessaire.

III.2. Ajout de connexions au projet


Pour exporter des donnes partir dune source de donnes, il faut crer une
connexion vers la source. Pour le faire,

1. Slectionner longlet ControlFlow ,


2. Dans la Connection Manager en bas, cliquer bouton droit et
slectionner le type connexion.
3. Slectionner une connexion de type New OLE DB Connection .
4. On peut crer une connexion base des informations de connexion dj
cres. Sinon, cliquer New pour crer une nouvelle connexion.
5. Slectionner le nom du serveur, le mode dauthentification et la base de
donnes
6. Valider en cliquant OK pour crer une connexion vers la base de
donnes.
7. Cliquer OK pour ajouter la connexion au projet
Remarque ; il est possible de changer le type connexion dans la zone Provider

Rpter les tapes mais cette fois pour ajouter une connexion vers un fichier plat.
Le contenu du fichier est le suivant :
DepartmentID,Name,GroupName,ModifiedDate
1,Engineering,Research and Development,2002-06-01 00:00:00
2,Tool Design,Research and Development,2002-06-01 00:00:00
3,Sales,Sales and Marketing,2002-06-01 00:00:00
4,Marketing,Sales and Marketing,2002-06-01 00:00:00
5,Purchasing,Inventory Management,2002-06-01 00:00:00
6,Research and Development,Research and Development,2002-06-01 00:00:00
7,Production,Manufacturing,2002-06-01 00:00:00
8,Production Control,Manufacturing,2002-06-01 00:00:00
9,Human Resources,Executive General and Administration,2002-06-01 00:00:00
10,Finance,Executive General and Administration,2002-06-01 00:00:00
11,Information Services,Executive General and Administration,2002-06-01 00:00:00
12,Document Control,Quality Assurance,2002-06-01 00:00:00
13,Quality Assurance,Quality Assurance,2002-06-01 00:00:00
14,Facilities and Maintenance,Executive General and Administration,2002-06-01 00:00:00
15,Shipping and Receiving,Inventory Management,2002-06-01 00:00:00
16,Executive,Executive General and Administration,2002-06-01 00:00:00

1. Dans longlet ControlFlow , et dans la Connection Manager en bas,


cliquer bouton droit et slectionner le type connexion.
2. Slectionner une connexion de type New Flat File Connection .
3. Slectionner le fichier dans la zone File name
4. Dans le cas ou la premire ligne du fichier texte contient les noms des
attributs, cliquer pour cocher Column names in the first data row

5. Cliquer Columns Dans la zone de configuration (Zone gauche) pour


prciser le caractre dlimiteur dans le fichier source et le dlimiteur de
lignes.
6. Cliquer Advanced dans zone de configuration pour modifier (si
ncessaire) les informations des colonnes.

7. Cliquer OK pour valider et ajouter la connexion au projet


III.3. Cration dun flux de donnes Data Flow
La tche de flux de donnes permet d'encapsuler le moteur de flux de donnes qui
dplace les donnes entre les sources et les destinations et fournit la fonctionnalit
grce laquelle il est possible de transformer, nettoyer et modifier les donnes lors
de leur dplacement. La tche de flux de donnes est l'endroit o s'effectue la
majorit du travail d'un processus d'extraction, de transformation et de
chargement (ETL).

Remarque : Normalement, cette tache intervienne aprs la cration des


gestionnaires de connexions pour les donnes sources et de destination.
Mas, on peut commencer directement par cette tache et configur une
connexion pour chaque flux de donnes source Data Flow Sources .

Pour ajouter une tche de flux de donnes, il faut procder comme suit :

Cliquer longlet Control Flow


Dans la Bote outils SSIS, dvelopper Control Flow Items puis
cliquer-glisser une tche de flux de donnes Data Flow Task dans
lespace de conception de l'onglet Control Flow
Cliquer bouton droit sur la tache cre et cliquer Renommer . Taper
Extract From Text File
III.4. Configuration du flux de donnes Data Flow
Lide est dextraire les donnes partir dun fichier plat vers une source SQL
Server. Ainsi, il faut crer pour flux de donne :

Un composant source de type Flat File Source utilisant la connexion


vers le fichier plat
Un composant destination de type OLE DB Destionation qui va
utiliser la connexion vers SQL Server 2008

Procder comme suit :

1. Cliquer longlet Data Flow

2. Configurer la source :

o Glisser partir de la boite outils le contrle Flat File Source

o Cliquer bouton droit sur le contrle et cliquer Edit


o Slectionner la connexion manager. Il est possible de crer une
nouvelle connexion en cliquant le bouton New

o Cliquer OK pour valider

3. Configurer la source :

o Glisser partir de la boite outils le contrle OLE DB


Destination

4. Lier les deux sources en glissant la flche verte du flux source vers le flux
de la destination

5. Cliquer bouton droit sur le flux de donnes destination et cliquer Edit

6. Dans la zone Name of the table or the view , il est possible soit :

o dutiliser une table dj existante dans la base

o ou bien crer une nouvelle en cliquant le bouton New . dans ce


cas, un script SQL LDD sera lanc avec comme nom de la table le
nom du contrle et les attributs sont les mmes attributs du flux de
donnes source
7. Cliquer Mapping dans la partie de configuration gauche pour vrifier
le mapping des colonnes entre le flux en entre et le flux en sorite

8. Valider en cliquant OK
III.5. Extraction des donnes utilisant SSIS
Jusquici, les flux source et destination sont bien configurs pour une extraction
des donnes partir dun fichier plat (texte) vers une source de donnes OLE DB
de type SQL server.

Ce qui reste est tout simplement dexcuter le package.

Cliquer le menu Dboguer Dmarrer le dbogage.

Si tout ce passe bien, les taches seront colories en vert signification de russite
dextraction et chargement

Arrter le dbogage

IV. Personnalisation de la tache

Il est noter que pour chaque excution de package cre, les donnes extraites du
fichier plat seront ajoutes aux donnes qui existent dj dans la table de
destination. Ainsi, il serait bien de vider la table avant lextraction. Aussi, il serait
bien dafficher un message relatif au dbut de lextraction.

IV.1. Script SQL pour vider la table avant extraction


1. Cliquer longlet Control Flow
2. Glisser llment Execute SQL Task au package
3. Cliquer bouton droit et cliquer Edit
4. Dans General , affecter la proprit Connection la connexion OLE
DB vers la base SQL Server
5. Ecrire la requete SQL (Truncate table Table_Name) comme valeur de la
proprit SQLStatement
6. Lier la tache Execute SQL Task au Data Flow Task de telle sorte
ce que la requte SQL sera excute avant la tache du flux de donnes

7. Valider en cliquant OK
8. Excuter le package et vrifier les donnes dans la table cible

IV.2. Script C# pour afficher un message de dbut du travail


1. Dans longlet Control Flow glisser un lment Script Task
2. Cliquer bouton droit Edit
3. Slectionner le langage du script
4. Cliquer le bouton Edit script pour ecrire le code
5. Dans la fonction Main, taper le code C# suivant
MessageBox.Show("Mon premier prog ETL SSIS");
6. Lier la tache aux autres lments de telle sorte ce quelle soit la premire a
tre excute
7. Excuter le package
IV.3. Crer des colonnes drives
Une des possibilits offertes par SSIS est de pouvoir drives des colonnes
sources et leur appliquer des fonctions SQL. Aisni, il est possible par exemple de
nafficher que le jour dune date, .

Cette fonctionnalit est possible avec llment Derived Column de longlet


Data Flow

1. Glisser le contrle Derived Column


2. Le mettre entre le flux source et le flux destination
3. Double-cliquer sur le Dervide Column pour afficher lditeur.

A gauche, on trouve les colonnes et variables. A droite, on trouve les


fonctions et oprateurs quon peut utiliser.
4. Dans la zone en bas, cliquer pour driver la colonne Name comme sur la
figure en bas. Ceci pour rle de rendre le contenu du champ Name en
majuscule.
Il est possible de crer de nouvelles colonnes partir des colonnes de la
source
Remarque : Il faut faire attention ce que les champs rsultants aprs application
de Derived Column concident avec les champs de OLE DB Destination

IV.4. Exercice :
Crer un projet SSIS permettant dextraire les donnes partir dun fichier Excel
vers une table SQL Server 2008.
V. Charger plusieurs fichiers plats dans une table SQL Server

Lorsque on veut charger un ensemble de fichiers dans une base de donnes, il faut
faire appel a une boucle Foreach peut nous aider dans ce processus. Ainsi, on va
boucler pour insrer chacun des fichiers dans la table.

Pour le faire, procder comme suit :

1. Crer un nouveau package


V.1. Configuration de la boucle Foreach
2. Dans longlet Flow Control , glisser le conteneur Foreach Lopp
Container
3. Double cliquer sur le Foreach Loop Container pour ouvrir lditeur.
4. Cliquer Collection et slectionner pour la valeur Enumerator la
valeur Foreach File Enumerator
5. Dans la partie Enumerateur configuration prciser le lien vers le
dossier contenant les fichiers plats dans le champ Folder
6. Dans le champ Files taper *.txt pour ne prendre en considration
que les fichiers dont lextension est txt
7. Cliquer sur Variable Mapping gauche
8. Cliquer dans le champ Variable New Variable

9. Entrer les informations de la nouvelle variable comme sur la figure en


bas

10. Cliquer OK pour crer la variable


11. Cliquer OK pour terminer la configuration de la boucle Foreach
V.2. Configuration des flux de donnes
12. Ajouter un Data Flow Task dans le contrle Foreach
13. Dans longlet Data Flow ajouter un Flat File Source et un OLE
DB Destination
14. Configurer le Flat File Source pour quil pointe sur un des fichiers
plats dans les dossiers des fichiers
15. Lier le flux Flat File Source avec OLE DB Destination
16. Configurer le OLE DB Destination avec une table SQL Server 2008
17. Dans la partie Connection Managers , slectionner la connexion Flat
et dans la fentre proprit slectionner Expression et cliquer pour
ouvrir lditeur dexpression.
18. Slectionner la proprit ConnectionString et slectionner comme
Expression la variable cre dans la boucle Foreach

19. Valider en cliquant OK pour affecter la variable


20. Cliquer OK pour terminer la configuration
V.3. Extraction des donnes
21. Excuter le package et verifier les donnes dans la base

V.4. Exercice
Reprendre le mme principe pour extraire des donnes partir de plusieurs
fichiers Excel dans une seule table SQL Server 2008
VI. Extraire les donnes utilisant une requte SQL

Il est possible dextraire des donnes partir dune source de donnes utilisant des
requtes personnalises et de les charger dans une source destinataire. Dans notre
exemple, on va rcuprer des donnes partir de trois tables dune base SQL
Server 2008 et les enregistrer dans un ficher plat.

Pour le faire, procder comme suit :

1. Crer un nouveau package


2. Crer un Data Flow
3. Ajouter une nouvelle Connection Manager de type New OLE DB
Connection vers la base de donnes AdventureWorks2008R2 dun
serveur SQL Server 2008.
4. Ajouter une Source de donnes OLE DB Source
5. Double-cliquer sur la source pour la configurer. lier la la connexion OLE
cre avant et slectionner comme mode daccs au donnes SQL
Command et taper la requte SQL comme sur la figure

6. Cliquer OK pour valider


7. Ajouter un flux de donnes destination Data Flow Destination de type
Flat File Destination
8. Lier le flux source flux de destination
9. Double cliquer sur le flux Flat pour le configurer. Cliquer New pour
ajouter une nouvelle connexion. Aprs, Il sera demand de choisir le
format du fichier plat destinataire. Cocher la case Delimited et cliquer
OK (voir figure en base)

10. Configurer la connexion Manager en choisissant le chemin vers le fichier


plat (.txt) de destination comme sur la figure en bas
11. Cliquer OK pour valider
Par dfaut, la case Overwrite data in the file est coche pour vider le
ficher chaque excution

12. Aprs, vrifier le schma en cliquant Preview et vrifier le Mappings


13. Excuter le package et vrifier les donnes dans le fichier plat de
destination

VII. Gestion des erreurs

Les erreurs peuvent se produire lorsqu'un composant de flux de donnes applique


une transformation des donnes, extrait des donnes partir de sources ou
charge des donnes dans des destinations.

Les erreurs dans un ETL peuvent tres regroupes en trois catgories :

Erreurs de conversion de donnes : si une conversion provoque la perte de


chiffres significatifs, la perte de chiffres non significatifs et la troncation de
chanes.
Erreurs d'valuation d'expression :si des expressions values au moment
de l'excution effectuent des oprations non valides ou deviennent
syntaxiquement incorrectes cause de valeurs de donnes manquantes ou
incorrectes.
Erreurs de recherche : qui se produisent si une opration de recherche ne
retourne pas de valeurs

La plupart des composants de flux de donnes prennent en charge les sorties


d'erreur (connecteur en rouge). Cette sortie permet de contrler la manire dont le
composant gre les erreurs de lignes dans les donnes entrantes et sortantes. Ainsi,
vous pouvez spcifier le comportement du composant lorsqu'une troncation ou
une erreur se produit en dfinissant des options sur des colonnes dans l'entre ou
la sortie.

La sortie d'erreur peut tre connecte l'entre d'une autre transformation


ou charge dans une destination diffrente de la sortie sans erreur.

Par exemple, la sortie d'erreur peut tre connecte une transformation de


colonne drive qui fournit une chane pour une colonne vide.

VII.1. Premier exemple


Pour mettre en uvre et tester la gestion derreurs sous SSIS on va crer un projet
Intgration Services avec la situation suivante :

Un fichier Excel comme source de donnes dans les champs son les
suivants : Nom, Prnom, Age, Adresse, Email

Remplissez le fichier avec des donnes et faites en sorte que le champ


Adresse de quelques enregistrements soit vide

Une table SqlServer 2008 qui va recevoir les donnes du fichier Excel :

CREATE TABLE TestETLError (Nom nvarchar(255), Prnom


nvarchar(255), Adresse nvarchar(255) NOT NULL, Email nvarchar(255))

Remarquez bien que le champ Adresse nadmet pas de valeurs nulles.

Tester en procdant comme suit :

1. Crer un projet SSIS avec comme flux de donnes source le fichier Excel
et flux de donnes destination la table TestETLError
2. Excuter la tache ; vous allez remarquer que le composant flux de donnes
destination est en rouge. Ceci implique quune erreur (le champ Adresse de
la table nadmet pas des valeurs nulles) est survenue

VII.2. Grer les erreurs


Les erreurs appartiennent l'une des deux catgories suivantes : erreurs ou
troncations. Une erreur indique un chec non quivoque et gnre un rsultat
NULL. Une troncation est une erreur moins grave. Elle gnre des rsultats qui
peuvent tre utilisables, voire mme souhaitables. Vous pouvez faire en sorte de
traiter les troncations comme des erreurs ou comme des conditions acceptables.

Vous pouvez configurer la manire dont les sources, les transformations et


les destinations grent les erreurs et les troncations. Le tableau ci-dessous dcrit
les options disponibles :

Option Description
La tche de flux de donnes choue lorsqu'une
Fail Component : erreur ou une troncation a lieu.
Composant dfaillant L'chec est l'option par dfaut pour une erreur et
une troncation.
L'erreur ou la troncation est ignore et la ligne de
Ignore Failure :
donnes est dirige vers la sortie de la
Ignorer l'chec
transformation ou de la source.
La ligne de donnes d'erreur ou de troncation est
Redirect Row :
dirige vers la sortie d'erreur de la source, de la
Racheminer la ligne
transformation ou de la destination.
VII.3. Gestion derreur dans le premier exemple
1. Crer une nouvelle table SQL Server 2008 qui va contenir les champs qui
ont causs leurreur (dont ladresse est vide). Le schma est le mme que la
table TestETLError (cre prcdemment) mais avec le champ Adresse qui
va accepter les valeurs nulles :

CREATE TABLE TestETLGetErrors (Nom nvarchar(255),


Prnom nvarchar(255), Adresse nvarchar(255), Email
nvarchar(255))

2. Ajoutez au projet un autre flux de donnes destination vers la table


TestETLGetErrors

3. Liez la sortie derreur du flux de donnes dj cre dans le premier


exemple avec celui que vous venez de crer

4. Une fentre de configuration de la sortie erreur (Configure Output Error)


sera lance. Modifiez le champ Error Redirect Error pour rediriger
les lignes erreurs vers le deuxime flux.

5. Configurez le contrle de flux de sortie et vrifier le mapping

6. Excutez et vrifiez les donnes dans les deux tables


Vous allez remarquer que sur lensemble des enregistrements dans le fichier Excel
(qui sont en nombre de 1043 dans lexemple) 1012 enregistrements sont
achemins vers la destination lie la sortie erreur (se sont les enregistrements
dont ladresse est nulle) et le reste est enregistr dans le premier composant de
flux de destination (se sont les enregistrements sans erreurs)

VII.4. Gestion derreur avec Event Handlers


SSIS offre la possibilit de grer les erreurs dune manire vnementielle en
utilisant longlet Event Handlers du paquetage.

Dans la partie Event Handlers , plusieurs vnements peuvent tre grs


et parmi eux il y a lvnement OnError qui se dclenche aprs chaque erreur
dexcution. Dans cet onglet, vous pouvez utiliser toutes les composantes de
contrle de flux de maintenance.

Pour un simple exemple, dans le paquetage dj cre, vous allez forcer une
erreur et dans la partie Event Handlers vous allez utiliser un Script Task
pour afficher le numro et la description de lerreur.

Double cliquez sur le premier contrle flux de donnes destination et


modifiez la valeur de Error dans Error Output Fail component .
Ceci pour effet de gnrer une erreur et arrter lexcution

Dans longlet Event Handlers selectionnez OnError dans champ


Event Handlers de votre package et cliquez pour ajouter un vnement

Glisser partir de la boite outil un composant Script Task


Double cliquez sur ce composant pour afficher lediteur du script

Dans le champ ReadOnlyVariables cliquez pour selectionner les


variables utiliser. Cochez System::ErrorCode et System::ErrorDescription
et valider par OK

Cliquez le bouton Edit Script et ajoutez dans la fonction Main le code


suivant :

// TODO: Add your code here


MessageBox.Show("Une erreur est survenue\n N: " +
Dts.Variables["ErrorCode"].Value.ToString() + "\nDescription: " +
Dts.Variables["System::ErrorDescription"].Value.ToString());
Dts.TaskResult = (int)ScriptResults.Success;

Fermez la fentre du script et cliquez Ok pour valider

Excutez pour tester le fonctionnement

Vous aimerez peut-être aussi