TP
TP
TP
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
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 :
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.
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
Pour ajouter une tche de flux de donnes, il faut procder comme suit :
2. Configurer la source :
3. Configurer la source :
4. Lier les deux sources en glissant la flche verte du flux source vers le flux
de la destination
6. Dans la zone Name of the table or the view , il est possible soit :
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.
Si tout ce passe bien, les taches seront colories en vert signification de russite
dextraction et chargement
Arrter le dbogage
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.
7. Valider en cliquant OK
8. Excuter le package et vrifier les donnes dans la table cible
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.
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.
Un fichier Excel comme source de donnes dans les champs son les
suivants : Nom, Prnom, Age, Adresse, Email
Une table SqlServer 2008 qui va recevoir les donnes du fichier Excel :
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
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 :
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.