SlideShare une entreprise Scribd logo
Atelier N°1 :
Débuter avec l’ETL SSIS
My Abdelouahed Sabri
Email : abdelouahed.sabri@gmail.com
Sommaire
I. Introduction....................................................................................................................... 4
II. L’ETL SQL Server Integration Services ............................................................................... 4
II.1. Unité de travail SSIS : Package................................................................................... 4
II.2. Les éléments d’un package SSIS................................................................................ 5
II.3. ControlFlow ............................................................................................................... 5
II.4. DataFlow.................................................................................................................... 6
II.5. Event Handlers .......................................................................................................... 6
III. Débuter avec SSIS 2008................................................................................................. 6
III.1. Création d’un package SSIS ....................................................................................... 6
III.2. Ajout de connexions au projet .................................................................................. 7
III.3. Création d’un flux de données Data Flow ............................................................... 11
III.4. Configuration du flux de données « Data Flow ».................................................... 11
III.5. Extraction des données 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 début du travail ......................................... 15
IV.3. Créer des colonnes dérivées ................................................................................... 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 données.......................................................................... 19
V.3. Extraction des données ........................................................................................... 20
V.4. Exercice.................................................................................................................... 20
VI. Extraire les données utilisant une requête SQL .......................................................... 21
VII. Gestion des erreurs ..................................................................................................... 23
VII.1. Premier exemple ................................................................................................. 24
VII.2. Gérer les erreurs.................................................................................................. 25
VII.3. Gestion d’erreur dans le premier exemple ......................................................... 25
VII.4. Gestion d’erreur avec « Event Handlers »........................................................... 27
Tp  Sql Server Integration Services  2008
I. Introduction
Microsoft, SQL Server 2008 est un système de gestion de bases de données
relationnelles (SGBDR). Son moteur de base de données permet le stockage, la
manipulation et l’analyse de données. En plus, grâce au langage T-SQL (Transact-
SQL) il est possible d’utiliser les fonctions de la programmation procédurale sur le
moteur de base de données.
Pour réaliser des projets Bunsines Inteligence (BI), SQL Server 2008 contient trois
plateformes en plus de son moteur, à savoir :
 SQL Server Integration Services (SSIS): joue le rôle d’un ETL. Il permet
d’intégrer des données provenant de différentes sources pour les ranger
dans un entrepôt de données (Data Warehouse)
 SQL Server Analysis Services (SSAS) : permet d’analyser les données,
agrégées dans le Data Warehouse, grâce à des fonctions d’analyse
multidimensionnelle
 SQL Server Reporting Services (SSRS) : permet de créer, gérer et publier
des rapports résultant des analyses réalisées 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. L’ETL SQL Server Integration Services
L’ETL à pour objectif d’intégrer des données à partir de différentes sources dans
un entrepôt de données (Data Warehouse.). Ainsi, on peut avec SSIS extraire des
données provenant de différentes sources (Excel, MySQL…) et les insérer dans
un SGBD cible.
Normalement, un ETL (Extract-Transform-Loading) n’est utilisé qu’après avoir
définie la structure du Data Warehouse.
II.1.Unité de travail SSIS : Package
L’environnement de travail dans un projet SSIS est appelé un « Package ». Ainsi, le
package contient tous les scénarios de l « Extraction, Transformation,
Chargement ». On peut créer autant de packages qu’on souhaite pour plusieurs
taches d’ETL.

Recommandé pour vous

Projet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoinsProjet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoins

Introduction à la Business intelligence A quoi ça sert ? Outils et Projets de Business intelligence

business intelligencebi
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2

Big Data : Hadoop - Généralité - Architecture HDFS - Algorithme MapRduce - Architecture YARN - Hadoop v3.x vs Hadoopv2.x Cours Big Data - Chap2 - GI3 - ENIS

big datahadooparchitecture
II.2.Les éléments d’un package SSIS
Dans chaque package on trouve 4 parties sous forme d’onglets (dans un projet
SSIS):
 ControlFlow (flux de contrôle) : partie orientée contrôle. Contient les
différentes taches du package (qu’on peut ordonner). Par exemple, faire
une troncature d’une table avant de la remplir.
 DataFlow (flux de données) : comme le ControlFlow, mais dédié aux
données. On peut retrouver dans le DataFlow les étapes de lecture, de
modification et d'écriture des données.
 Event Handlers (Gestionnaires d'événements) : permettant de gérer des
évènements qui peuvent survenir dans les différents composants qui
constituent un package SSIS et d'effectuer des actions en fonction de leur
nature.
 Package Explorer (Explorateur de package) : décrit, sous forme
d'arborescence, tous les éléments constituant le package et qui permet
d'accéder en quelques clics à tous les éléments du package et à leurs
propriétés.
II.3.ControlFlow
C’une partie orientée contrôle. Elle contient les différentes taches du package
(qu’on peut ordonner). Par exemple, faire une troncature d’une table avant de la
remplir.
Parmi les taches de contrôle, on trouve :
 Data Flow Task : encapsule le moteur DataFlow permettant l’extraction de
données à partir d’une source de données et une source destination
 Script Task (Tâche de script) : permet de créer des fonctions (C# ou
VB.Net)
 Execute SQL Task : permettant d’exécuter des instructions SQL
 XML Task : permettant l’exécution des opérations XML sur des sources de
données de type XML
 …
En, plus de ces taches, on trouve des taches de maintenance :
 Check Database Integrity Task : permettant la vérification de l’intégrité de
la base de données (pages de données et pages d’index)
 History Cleanup Task : permettant le nettoyage d’historique
 …
Il est possible de regrouper certaines tâches entre elles dans ce qu’on appelle un
conteneur. Il existe ainsi des conteneurs répétitifs qui permettent de créer une
boucle qui exécutera leurs tâches un certain nombre de fois :
 For Loop Container,
 Foreach Loop Container,
 Sequence Container)
II.4.DataFlow
Pareil au ControlFlow, mais dédié aux données. On peut retrouver dans le
DataFlow les étapes de lecture, de modification et d'écriture des données.
Cet onglet contient trois types de contrôles :
 Data Flow Sources : regroupe différents type de flux de données source.
On y trouve sources de données de type Excel, Flat File, OLE DB, XML,
ADO NET
 Data Flow Destination : regroupe différents types de flux de données
destination.
 Data Flow Transformations : regroupe différent types de transformation :
Agrégation, conversion de données, Merge, copie de colonnes
II.5.Event Handlers
Permettant de gérer des évènements qui peuvent survenir dans les différents
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 d’un
événement « OnError ».
III. Débuter avec SSIS 2008
Dans un premier exemple, on va essayer de créer un projet permettant l’extraction
des données à partir d’un fichier plat vers une base de données SQL Server 2008
III.1. Création d’un package SSIS
1. Lancer MS Visual Studio 20080. Deux façons :
a. Cliquer le menu démarrer  Microsoft SQL Server 2008  SQL
Server Business Intelligence Development Studio
b. Cliquer le menu démarrer  MS Visual Studio 2008  MS Visual
Studio 2008
2. Cliquer le menu Fichier  Nouveau  Projet
3. Sélectionner le type de projet « Business Intelligence Projects »
4. Dans les modèles, sélectionner « Integration Services Project »
5. Entrer le nom du projet, l’emplacement et cliquer « OK » pour créer le
projet SSIS
6. Une fois le projet crée, dans l’explorateur de solution, un package
« Package.dtsx » est crée par défaut. On peut créer autant de packages que
nécessaire.
III.2. Ajout de connexions au projet
Pour exporter des données à partir d’une source de données, il faut créer une
connexion vers la source. Pour le faire,
1. Sélectionner l’onglet « ControlFlow »,
2. Dans la « Connection Manager » en bas, cliquer bouton droit et
sélectionner le type connexion.
3. Sélectionner une connexion de type « New OLE DB Connection ».
4. On peut créer une connexion à base des informations de connexion déjà
créées. Sinon, cliquer « New » pour créer une nouvelle connexion.
5. Sélectionner le nom du serveur, le mode d’authentification et la base de
données
6. Valider en cliquant « OK » pour créer une connexion vers la base de
données.
7. Cliquer « OK » pour ajouter la connexion au projet
Remarque ; il est possible de changer le type connexion dans la zone « Provider »
Répéter 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 l’onglet « ControlFlow », et dans la « Connection Manager » en bas,
cliquer bouton droit et sélectionner le type connexion.
2. Sélectionner une connexion de type « New Flat File Connection ».
3. Sélectionner le fichier dans la zone « File name »

Recommandé pour vous

Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle

Visitez http://liliasfaxi.wix.com/liliasfaxi

BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data

Visitez http://liliasfaxi.wix.com/liliasfaxi !

PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPT
openerpbitalend
4. Dans le cas ou la première 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
préciser le caractère délimiteur dans le fichier source et le délimiteur de
lignes.
6. Cliquer « Advanced » dans zone de configuration pour modifier (si
nécessaire) les informations des colonnes.
7. Cliquer « OK » pour valider et ajouter la connexion au projet
III.3. Création d’un flux de données Data Flow
La tâche de flux de données permet d'encapsuler le moteur de flux de données qui
déplace les données entre les sources et les destinations et fournit la fonctionnalité
grâce à laquelle il est possible de transformer, nettoyer et modifier les données lors
de leur déplacement. La tâche de flux de données 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 après la création des
gestionnaires de connexions pour les données sources et de destination.
Mas, on peut commencer directement par cette tache et configuré une
connexion pour chaque flux de données source « Data Flow Sources ».
Pour ajouter une tâche de flux de données, il faut procéder comme suit :
 Cliquer l’onglet « Control Flow »
 Dans la Boîte à outils SSIS, développer « Control Flow Items » puis
cliquer-glisser une tâche de flux de données « Data Flow Task » dans
l’espace de conception de l'onglet « Control Flow »
 Cliquer bouton droit sur la tache créée et cliquer « Renommer ». Taper
« Extract From Text File »
III.4. Configuration du flux de données « Data Flow »
L’idée est d’extraire les données à partir d’un fichier plat vers une source SQL
Server. Ainsi, il faut créer pour flux de donnée :
 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
Procéder comme suit :
1. Cliquer l’onglet « Data Flow »
2. Configurer la source :
o Glisser à partir de la boite à outils le contrôle « Flat File Source »
o Cliquer bouton droit sur le contrôle et cliquer « Edit »
o Sélectionner la connexion manager. Il est possible de créer 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 contrôle « OLE DB
Destination »
4. Lier les deux sources en glissant la flèche verte du flux source vers le flux
de la destination
5. Cliquer bouton droit sur le flux de données destination et cliquer « Edit »
6. Dans la zone « Name of the table or the view », il est possible soit :
o d’utiliser une table déjà existante dans la base
o ou bien créer 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 contrôle et les attributs sont les mêmes attributs du flux de
données source

Recommandé pour vous

Introduction à la Business Intelligence
Introduction à la Business Intelligence Introduction à la Business Intelligence
Introduction à la Business Intelligence

Introduction générale sur l'informatique décisionnelle

Chp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesChp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de Données

Visitez http://liliasfaxi.wix.com/liliasfaxi

BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL

Visitez http://liliasfaxi.wix.com/liliasfaxi !

mongodbcassandranosql
7. Cliquer « Mapping » dans la partie de configuration à gauche pour vérifier
le mapping des colonnes entre le flux en entrée et le flux en sorite
8. Valider en cliquant « OK »
III.5. Extraction des données utilisant SSIS
Jusqu’ici, les flux source et destination sont bien configurés pour une extraction
des données à partir d’un fichier plat (texte) vers une source de données OLE DB
de type SQL server.
Ce qui reste est tout simplement d’exécuter le package.
 Cliquer le menu Déboguer  Démarrer le débogage.
Si tout ce passe bien, les taches seront coloriées en vert signification de réussite
d’extraction et chargement
 Arrêter le débogage
IV. Personnalisation de la tache
Il est à noter que pour chaque exécution de package crée, les données extraites du
fichier plat seront ajoutées aux données qui existent déjà dans la table de
destination. Ainsi, il serait bien de vider la table avant l’extraction. Aussi, il serait
bien d’afficher un message relatif au début de l’extraction.
IV.1. Script SQL pour vider la table avant extraction
1. Cliquer l’onglet « Control Flow »
2. Glisser l’élément « Execute SQL Task » au package
3. Cliquer bouton droit et cliquer « Edit »
4. Dans « General », affecter à la propriété « Connection » la connexion OLE
DB vers la base SQL Server
5. Ecrire la requete SQL (Truncate table Table_Name) comme valeur de la
propriété « SQLStatement »
6. Lier la tache « Execute SQL Task » au « Data Flow Task » de telle sorte à
ce que la requête SQL sera exécutée avant la tache du flux de données
7. Valider en cliquant « OK »
8. Exécuter le package et vérifier les données dans la table cible
IV.2. Script C# pour afficher un message de début du travail
1. Dans l’onglet « Control Flow » glisser un élément « Script Task »
2. Cliquer bouton droit  Edit
3. Sélectionner 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 éléments de telle sorte à ce qu’elle soit la première a
être exécutée
7. Exécuter le package
IV.3. Créer des colonnes dérivées
Une des possibilités offertes par SSIS est de pouvoir dérivées des colonnes
sources et leur appliquer des fonctions SQL. Aisni, il est possible par exemple de
n’afficher que le jour d’une date, ….
Cette fonctionnalité est possible avec l’élément « Derived Column » de l’onglet
« Data Flow »
1. Glisser le contrôle « Derived Column »
2. Le mettre entre le flux source et le flux destination
3. Double-cliquer sur le « Dervide Column »pour afficher l’éditeur.
A gauche, on trouve les colonnes et variables. A droite, on trouve les
fonctions et opérateurs qu’on peut utiliser.
4. Dans la zone en bas, cliquer pour dériver la colonne Name comme sur la
figure en bas. Ceci à pour rôle de rendre le contenu du champ Name en
majuscule.

Recommandé pour vous

Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)

rapport de mémoire (projet fin d'études)

#bi#analyse data#power bi
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...

Ce projet vise à développer un système d’information des étudiants du département informatique. Mais, pour aboutir à cette fin, nous allons tout d’abord effectué une étude conceptuelle de l’application. Cette dernière nous permettra, en effet, d’accéder facilement à la réalisation de l’application en organisant les idées et en structurant le processus de codage suivant des diagrammes. L’application a été implémenté par diverses technologies en se basant sur l’étude conceptuelle. Le système de gestion de base de données choisi fut MySQL. L’application a été implémenté avec Laravel5 et Boostrap3, qui sont des frameworks permettant de créer rapidement et efficacement un site web complexe et flexible.

laravel5système d’information des étudiantsboostrap3
Td dw1
Td dw1Td dw1
Td dw1

bi

busniss intelligence
Il est possible de créer de nouvelles colonnes à partir des colonnes de la
source
Remarque : Il faut faire attention à ce que les champs résultants après application
de « Derived Column » coïncident avec les champs de « OLE DB Destination »
IV.4. Exercice :
Créer un projet SSIS permettant d’extraire les données à partir d’un 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 données, il faut
faire appel a une boucle Foreach peut nous aider dans ce processus. Ainsi, on va
boucler pour insérer chacun des fichiers dans la table.
Pour le faire, procéder comme suit :
1. Créer un nouveau package
V.1. Configuration de la boucle Foreach
2. Dans l’onglet « Flow Control », glisser le conteneur « Foreach Lopp
Container »
3. Double cliquer sur le « Foreach Loop Container » pour ouvrir l’éditeur.
4. Cliquer « Collection » et sélectionner pour la valeur « Enumerator » la
valeur « Foreach File Enumerator »
5. Dans la partie « Enumerateur configuration » préciser le lien vers le
dossier contenant les fichiers plats dans le champ « Folder »
6. Dans le champ « Files » taper « *.txt » pour ne prendre en considération
que les fichiers dont l’extension 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 créer la variable
11. Cliquer « OK » pour terminer la configuration de la boucle Foreach
V.2.Configuration des flux de données
12. Ajouter un « Data Flow Task » dans le contrôle Foreach
13. Dans l’onglet « Data Flow » ajouter un « Flat File Source » et un « OLE
DB Destination »
14. Configurer le « Flat File Source » pour qu’il 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 », sélectionner la connexion Flat
et dans la fenêtre propriété sélectionner « Expression » et cliquer pour
ouvrir l’éditeur d’expression.
18. Sélectionner la propriété « ConnectionString » et sélectionner comme
Expression la variable créée dans la boucle Foreach
19. Valider en cliquant « ‘OK » pour affecter la variable
20. Cliquer « OK » pour terminer la configuration
V.3.Extraction des données
21. Exécuter le package et verifier les données dans la base
V.4.Exercice
Reprendre le même principe pour extraire des données à partir de plusieurs
fichiers Excel dans une seule table SQL Server 2008

Recommandé pour vous

Partie2BI-DW2019
Partie2BI-DW2019Partie2BI-DW2019
Partie2BI-DW2019

La deuxième partie sur le cours Business Intelligence et Data warehouse. Si vous avez des questions, des remarques ou des propositions afin d’améliorer le contenu et la qualité de ce cours, n' hésitez pas à me contacter via mon email: pr.azizdarouichi@gmail.com. Bonne lecture. A. DAROUICHI

aide à la décisionbig databusiness intelligence
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence

exercices business intelligence

exercices business intelligence
VI. Extraire les données utilisant une requête SQL
Il est possible d’extraire des données à partir d’une source de données utilisant des
requêtes personnalisées et de les charger dans une source destinataire. Dans notre
exemple, on va récupérer des données à partir de trois tables d’une base SQL
Server 2008 et les enregistrer dans un ficher plat.
Pour le faire, procéder comme suit :
1. Créer un nouveau package
2. Créer un « Data Flow »
3. Ajouter une nouvelle « Connection Manager » de type « New OLE DB
Connection » vers la base de données AdventureWorks2008R2 d’un
serveur SQL Server 2008.
4. Ajouter une Source de données « OLE DB Source »
5. Double-cliquer sur la source pour la configurer. lier la à la connexion OLE
créée avant et sélectionner comme mode d’accès au données « SQL
Command » et taper la requête SQL comme sur la figure
6. Cliquer « OK » pour valider
7. Ajouter un flux de données 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. Après, 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 défaut, la case « Overwrite data in the file » est cochée pour vider le
ficher à chaque exécution
12. Après, vérifier le schéma en cliquant « Preview » et vérifier le « Mappings »
13. Exécuter le package et vérifier les données dans le fichier plat de
destination
VII. Gestion des erreurs
Les erreurs peuvent se produire lorsqu'un composant de flux de données applique
une transformation à des données, extrait des données à partir de sources ou
charge des données dans des destinations.
Les erreurs dans un ETL peuvent êtres regroupées en trois catégories :
 Erreurs de conversion de données : si une conversion provoque la perte de
chiffres significatifs, la perte de chiffres non significatifs et la troncation de
chaînes.
 Erreurs d'évaluation d'expression :si des expressions évaluées au moment
de l'exécution effectuent des opérations non valides ou deviennent
syntaxiquement incorrectes à cause de valeurs de données manquantes ou
incorrectes.
 Erreurs de recherche : qui se produisent si une opération de recherche ne
retourne pas de valeurs
La plupart des composants de flux de données prennent en charge les sorties
d'erreur (connecteur en rouge). Cette sortie permet de contrôler la manière dont le
composant gère les erreurs de lignes dans les données entrantes et sortantes. Ainsi,
vous pouvez spécifier le comportement du composant lorsqu'une troncation ou
une erreur se produit en définissant des options sur des colonnes dans l'entrée ou
la sortie.
La sortie d'erreur peut être connectée à l'entrée d'une autre transformation
ou chargée dans une destination différente de la sortie sans erreur.
Par exemple, la sortie d'erreur peut être connectée à une transformation de
colonne dérivée qui fournit une chaîne pour une colonne vide.
VII.1. Premier exemple
Pour mettre en œuvre et tester la gestion d’erreurs sous SSIS on va créer un projet
Intégration Services avec la situation suivante :
 Un fichier Excel comme source de données dans les champs son les
suivants : Nom, Prénom, Age, Adresse, Email
 Remplissez le fichier avec des données et faites en sorte que le champ
« Adresse » de quelques enregistrements soit vide
 Une table SqlServer 2008 qui va recevoir les données du fichier Excel :
CREATE TABLE TestETLError (Nom nvarchar(255), Prénom
nvarchar(255), Adresse nvarchar(255) NOT NULL, Email nvarchar(255))
Remarquez bien que le champ Adresse n’admet pas de valeurs nulles.
Tester en procédant comme suit :
1. Créer un projet SSIS avec comme flux de données source le fichier Excel
et flux de données destination la table TestETLError

Recommandé pour vous

Règles d’association
Règles d’associationRègles d’association
Règles d’association

C'est qui une association en Data Mining les algorithmes et leurs fonctionnement

data miningmachine learningalgorithme apriori
Partie1BI-DW2019
Partie1BI-DW2019Partie1BI-DW2019
Partie1BI-DW2019

La première partie sur le cours Business Intelligence et Data warehouse. Si vous avez des questions, des remarques ou des propositions, n' hésitez pas de me les envoyer via mon email: pr.azizdarouichi@gmail.com. Bonne lecture

business intelligencebidata warehouse
SQL Server preparation, installation et configuration
SQL Server   preparation, installation et configurationSQL Server   preparation, installation et configuration
SQL Server preparation, installation et configuration

SQL Server preparation, installation et configuration

installation et configurationsql server preparation
2. Exécuter la tache ; vous allez remarquer que le composant flux de données
destination est en rouge. Ceci implique qu’une erreur (le champ Adresse de
la table n’admet pas des valeurs nulles) est survenue
VII.2. Gérer les erreurs
Les erreurs appartiennent à l'une des deux catégories suivantes : erreurs ou
troncations. Une erreur indique un échec non équivoque et génère un résultat
NULL. Une troncation est une erreur moins grave. Elle génère des résultats qui
peuvent être utilisables, voire même souhaitables. Vous pouvez faire en sorte de
traiter les troncations comme des erreurs ou comme des conditions acceptables.
Vous pouvez configurer la manière dont les sources, les transformations et
les destinations gèrent les erreurs et les troncations. Le tableau ci-dessous décrit
les options disponibles :
Option Description
« Fail Component » :
Composant défaillant
La tâche de flux de données échoue lorsqu'une
erreur ou une troncation a lieu.
L'échec est l'option par défaut pour une erreur et
une troncation.
« Ignore Failure » :
Ignorer l'échec
L'erreur ou la troncation est ignorée et la ligne de
données est dirigée vers la sortie de la
transformation ou de la source.
« Redirect Row :
Réacheminer la ligne
La ligne de données d'erreur ou de troncation est
dirigée vers la sortie d'erreur de la source, de la
transformation ou de la destination.
VII.3. Gestion d’erreur dans le premier exemple
1. Créer une nouvelle table SQL Server 2008 qui va contenir les champs qui
ont causés l’eurreur (dont l’adresse est vide). Le schéma est le même que la
table TestETLError (créée précédemment) mais avec le champ Adresse qui
va accepter les valeurs nulles :
CREATE TABLE TestETLGetErrors (Nom nvarchar(255),
Prénom nvarchar(255), Adresse nvarchar(255), Email
nvarchar(255))
2. Ajoutez au projet un autre flux de données destination vers la table
TestETLGetErrors
3. Liez la sortie d’erreur du flux de données déjà crée dans le premier
exemple avec celui que vous venez de créer
4. Une fenêtre de configuration de la sortie erreur (Configure Output Error)
sera lancée. Modifiez le champ « Error » à « Redirect Error » pour rediriger
les lignes erreurs vers le deuxième flux.
5. Configurez le contrôle de flux de sortie et vérifier le mapping
6. Exécutez et vérifiez les données dans les deux tables
Vous allez remarquer que sur l’ensemble des enregistrements dans le fichier Excel
(qui sont en nombre de 1043 dans l’exemple) 1012 enregistrements sont
acheminés vers la destination liée à la sortie erreur (se sont les enregistrements
dont l’adresse est nulle) et le reste est enregistré dans le premier composant de
flux de destination (se sont les enregistrements sans erreurs)
VII.4. Gestion d’erreur avec « Event Handlers »
SSIS offre la possibilité de gérer les erreurs d’une manière événementielle en
utilisant l’onglet « Event Handlers » du paquetage.
Dans la partie « Event Handlers », plusieurs événements peuvent être gérés
et parmi eux il y a l’événement « OnError » qui se déclenche après chaque erreur
d’exécution. Dans cet onglet, vous pouvez utiliser toutes les composantes de
contrôle de flux de maintenance.
Pour un simple exemple, dans le paquetage déjà crée, vous allez forcer une
erreur et dans la partie « Event Handlers » vous allez utiliser un « Script Task »
pour afficher le numéro et la description de l’erreur.
 Double cliquez sur le premier contrôle flux de données destination et
modifiez la valeur de « Error » dans « Error Output » à « Fail component ».
Ceci à pour effet de générer une erreur et arrêter l’exécution
 Dans l’onglet « Event Handlers » selectionnez « OnError » dans champ
« Event Handlers » de votre package et cliquez pour ajouter un événement
 Glisser à partir de la boite à outil un composant « Script Task »
 Double cliquez sur ce composant pour afficher l’editeur 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 survenuen N: " +
Dts.Variables["ErrorCode"].Value.ToString() + "nDescription: " +
Dts.Variables["System::ErrorDescription"].Value.ToString());
Dts.TaskResult = (int)ScriptResults.Success;
 Fermez la fenêtre du script et cliquez « Ok » pour valider
 Exécutez pour tester le fonctionnement

Recommandé pour vous

[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016

Nouveautés SSIS SSRS 2016

ssrsgusssqlserver
Atelier 3 gestion de bases de données sous odoo
Atelier 3 gestion de bases de données sous odooAtelier 3 gestion de bases de données sous odoo
Atelier 3 gestion de bases de données sous odoo

Il est intéressant de savoir comment manipuler les données et bases de données sous Odoo. Ainsi, il est possible utilisant Odoo ;  De créer une nouvelle base de données,  De sauvegarder les données d’une base de données, déjà utilisée pour gérer une organisation/entreprise,  De restaurer une base de données sauvegardée dans une autre application (interface) Odoo.  De supprimer une base de données,  De dupliquer une base de données.

restaurer une base de donnéescréer une base de donnéessauvegarder restaurer une base de données
Sql Server Reporting Services
Sql Server Reporting ServicesSql Server Reporting Services
Sql Server Reporting Services

Présentation du service offert par le Sql Server et qui fait la génération des rapports contenants les tableaux, les graphes, les cartes ...

ssrsreporting servicessql server

Contenu connexe

Tendances

DataWarehouse
DataWarehouseDataWarehouse
DataWarehouse
nzuguem
 
Etat de l’art approche et outils BI
Etat de l’art approche et outils BIEtat de l’art approche et outils BI
Etat de l’art approche et outils BI
Said Sadik
 
Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehouse
khlifi z
 
Projet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoinsProjet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoins
Jean-Marc Dupont
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
Amal Abid
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
Lilia Sfaxi
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
Lilia Sfaxi
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPT
riyadadva
 
Introduction à la Business Intelligence
Introduction à la Business Intelligence Introduction à la Business Intelligence
Introduction à la Business Intelligence
Cynapsys It Hotspot
 
Chp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesChp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de Données
Lilia Sfaxi
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
Lilia Sfaxi
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)
Ines Ben Kahla
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
Ilyas CHAOUA
 
Partie2BI-DW2019
Partie2BI-DW2019Partie2BI-DW2019
Partie2BI-DW2019
Aziz Darouichi
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
Yassine Badri
 
Règles d’association
Règles d’associationRègles d’association
Règles d’association
Hassine Hammami
 
Partie1BI-DW2019
Partie1BI-DW2019Partie1BI-DW2019
Partie1BI-DW2019
Aziz Darouichi
 

Tendances (20)

DataWarehouse
DataWarehouseDataWarehouse
DataWarehouse
 
Etat de l’art approche et outils BI
Etat de l’art approche et outils BIEtat de l’art approche et outils BI
Etat de l’art approche et outils BI
 
Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehouse
 
Projet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoinsProjet BI - 1 - Analyse des besoins
Projet BI - 1 - Analyse des besoins
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Bi
BiBi
Bi
 
Chp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique DécisionnelleChp1 - Introduction à l'Informatique Décisionnelle
Chp1 - Introduction à l'Informatique Décisionnelle
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
PFE BI - INPT
PFE BI - INPTPFE BI - INPT
PFE BI - INPT
 
Introduction à la Business Intelligence
Introduction à la Business Intelligence Introduction à la Business Intelligence
Introduction à la Business Intelligence
 
Chp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de DonnéesChp2 - Les Entrepôts de Données
Chp2 - Les Entrepôts de Données
 
BigData_Chp4: NOSQL
BigData_Chp4: NOSQLBigData_Chp4: NOSQL
BigData_Chp4: NOSQL
 
Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)Rapport de stage: mastère ISIC (Business Intelligence)
Rapport de stage: mastère ISIC (Business Intelligence)
 
Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...Conception et réalisation d’un Système d’information des étudiants du départe...
Conception et réalisation d’un Système d’information des étudiants du départe...
 
Td dw1
Td dw1Td dw1
Td dw1
 
Partie2BI-DW2019
Partie2BI-DW2019Partie2BI-DW2019
Partie2BI-DW2019
 
Présentation bi 1.0
Présentation bi 1.0Présentation bi 1.0
Présentation bi 1.0
 
exercices business intelligence
exercices business intelligence exercices business intelligence
exercices business intelligence
 
Règles d’association
Règles d’associationRègles d’association
Règles d’association
 
Partie1BI-DW2019
Partie1BI-DW2019Partie1BI-DW2019
Partie1BI-DW2019
 

En vedette

SQL Server preparation, installation et configuration
SQL Server   preparation, installation et configurationSQL Server   preparation, installation et configuration
SQL Server preparation, installation et configuration
Mahfoud EL HOUDAIGUI
 
[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016
GUSS
 
Atelier 3 gestion de bases de données sous odoo
Atelier 3 gestion de bases de données sous odooAtelier 3 gestion de bases de données sous odoo
Atelier 3 gestion de bases de données sous odoo
Abdelouahed Abdou
 
Sql Server Reporting Services
Sql Server Reporting ServicesSql Server Reporting Services
Sql Server Reporting Services
Brahim Belghmi
 
ImpléMentation D’Une Solution De Bi Avec Sql Server
ImpléMentation D’Une Solution De Bi Avec Sql ServerImpléMentation D’Une Solution De Bi Avec Sql Server
ImpléMentation D’Une Solution De Bi Avec Sql Server
Hamza Boukraa
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
Abdelouahed Abdou
 
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essaiSSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
Microsoft Technet France
 
Ajax (Asynchronous JavaScript and XML)
Ajax (Asynchronous JavaScript and XML)Ajax (Asynchronous JavaScript and XML)
Ajax (Asynchronous JavaScript and XML)
Abdelouahed Abdou
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
Abdelouahed Abdou
 
Introduction à pl/sql
Introduction à pl/sqlIntroduction à pl/sql
Introduction à pl/sql
Abdelouahed Abdou
 
PL/SQL:les curseurs
PL/SQL:les curseursPL/SQL:les curseurs
PL/SQL:les curseurs
Abdelouahed Abdou
 
SQL Server 2016 SSRS and BI
SQL Server 2016 SSRS and BISQL Server 2016 SSRS and BI
SQL Server 2016 SSRS and BI
MSDEVMTL
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
Abdelouahed Abdou
 
Introduction au traitement d'images
Introduction au traitement d'imagesIntroduction au traitement d'images
Introduction au traitement d'images
Abdelouahed Abdou
 
Atelier2 Odoo: Gestion des Ressources Humaines (installation, employés, contr...
Atelier2 Odoo: Gestion des Ressources Humaines (installation, employés, contr...Atelier2 Odoo: Gestion des Ressources Humaines (installation, employés, contr...
Atelier2 Odoo: Gestion des Ressources Humaines (installation, employés, contr...
Abdelouahed Abdou
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
Douglas Bernardini
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Abdelouahed Abdou
 
Tutoriel web service
Tutoriel  web serviceTutoriel  web service
Tutoriel web service
Abdelouahed Abdou
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)
Abdelouahed Abdou
 
MS Sql Server: Introduction To Database Concepts
MS Sql Server: Introduction To Database ConceptsMS Sql Server: Introduction To Database Concepts
MS Sql Server: Introduction To Database Concepts
DataminingTools Inc
 

En vedette (20)

SQL Server preparation, installation et configuration
SQL Server   preparation, installation et configurationSQL Server   preparation, installation et configuration
SQL Server preparation, installation et configuration
 
[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016[JSS2015] Nouveautés SSIS SSRS 2016
[JSS2015] Nouveautés SSIS SSRS 2016
 
Atelier 3 gestion de bases de données sous odoo
Atelier 3 gestion de bases de données sous odooAtelier 3 gestion de bases de données sous odoo
Atelier 3 gestion de bases de données sous odoo
 
Sql Server Reporting Services
Sql Server Reporting ServicesSql Server Reporting Services
Sql Server Reporting Services
 
ImpléMentation D’Une Solution De Bi Avec Sql Server
ImpléMentation D’Une Solution De Bi Avec Sql ServerImpléMentation D’Une Solution De Bi Avec Sql Server
ImpléMentation D’Une Solution De Bi Avec Sql Server
 
Chapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en CChapitre 3 tableaux et pointeurs en C
Chapitre 3 tableaux et pointeurs en C
 
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essaiSSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
SSAS 2012 : Multidimensionnel et tabulaire au banc d'essai
 
Ajax (Asynchronous JavaScript and XML)
Ajax (Asynchronous JavaScript and XML)Ajax (Asynchronous JavaScript and XML)
Ajax (Asynchronous JavaScript and XML)
 
Pl/sql - interaction avec la base de données & structures de contrôle
Pl/sql  - interaction avec la base de données & structures de contrôlePl/sql  - interaction avec la base de données & structures de contrôle
Pl/sql - interaction avec la base de données & structures de contrôle
 
Introduction à pl/sql
Introduction à pl/sqlIntroduction à pl/sql
Introduction à pl/sql
 
PL/SQL:les curseurs
PL/SQL:les curseursPL/SQL:les curseurs
PL/SQL:les curseurs
 
SQL Server 2016 SSRS and BI
SQL Server 2016 SSRS and BISQL Server 2016 SSRS and BI
SQL Server 2016 SSRS and BI
 
Introduction à ASP.NET
Introduction à ASP.NETIntroduction à ASP.NET
Introduction à ASP.NET
 
Introduction au traitement d'images
Introduction au traitement d'imagesIntroduction au traitement d'images
Introduction au traitement d'images
 
Atelier2 Odoo: Gestion des Ressources Humaines (installation, employés, contr...
Atelier2 Odoo: Gestion des Ressources Humaines (installation, employés, contr...Atelier2 Odoo: Gestion des Ressources Humaines (installation, employés, contr...
Atelier2 Odoo: Gestion des Ressources Humaines (installation, employés, contr...
 
MS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTUREMS-SQL SERVER ARCHITECTURE
MS-SQL SERVER ARCHITECTURE
 
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
Développement de modules pour odoo (anciennement OpenERP): exemples et exerci...
 
Tutoriel web service
Tutoriel  web serviceTutoriel  web service
Tutoriel web service
 
Document Object Model ( DOM)
Document Object Model ( DOM)Document Object Model ( DOM)
Document Object Model ( DOM)
 
MS Sql Server: Introduction To Database Concepts
MS Sql Server: Introduction To Database ConceptsMS Sql Server: Introduction To Database Concepts
MS Sql Server: Introduction To Database Concepts
 

Similaire à Tp Sql Server Integration Services 2008

3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
FethiBenYahia1
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
Lilia Sfaxi
 
Introduction à mule esb
Introduction à mule esbIntroduction à mule esb
Introduction à mule esb
Mehdi EL KRARI
 
Namaa.APA.Report
Namaa.APA.ReportNamaa.APA.Report
Namaa.APA.Report
Mohamed HOSNI
 
OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
Lilia Sfaxi
 
Rapport tp3 j2ee
Rapport tp3 j2eeRapport tp3 j2ee
Rapport tp3 j2ee
Soukaina Boujadi
 
Formation Efficy CRM - Technical training
Formation Efficy CRM - Technical trainingFormation Efficy CRM - Technical training
Formation Efficy CRM - Technical training
Efficy CRM
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
Atsé François-Xavier KOBON
 
Introduction aspnet
Introduction aspnetIntroduction aspnet
Introduction aspnet
abdellatif edkhaili
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbc
Ines Ouaz
 
atam guide de developpement v1.3
atam guide de developpement v1.3atam guide de developpement v1.3
atam guide de developpement v1.3
Abdessamad Hamouch
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
Lilia Sfaxi
 
Presentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPresentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptx
PriscilleGANKIA
 
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Olivier Pinette
 
Génération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTOGénération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTO
guested7f6
 
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
Christophe Lauer
 
Ibm blueworks live overview francais
Ibm blueworks live overview francaisIbm blueworks live overview francais
Ibm blueworks live overview francais
Francesco Maria Rivera
 

Similaire à Tp Sql Server Integration Services 2008 (20)

3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
 
Introssis
IntrossisIntrossis
Introssis
 
Tp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPELTp3 - Application SOA avec BPEL
Tp3 - Application SOA avec BPEL
 
Introduction à mule esb
Introduction à mule esbIntroduction à mule esb
Introduction à mule esb
 
Namaa.APA.Report
Namaa.APA.ReportNamaa.APA.Report
Namaa.APA.Report
 
OpenESB et BPEL
OpenESB et BPELOpenESB et BPEL
OpenESB et BPEL
 
Rapport tp3 j2ee
Rapport tp3 j2eeRapport tp3 j2ee
Rapport tp3 j2ee
 
Formation Efficy CRM - Technical training
Formation Efficy CRM - Technical trainingFormation Efficy CRM - Technical training
Formation Efficy CRM - Technical training
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
Introduction aspnet
Introduction aspnetIntroduction aspnet
Introduction aspnet
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbc
 
Base donnes my_sql
Base donnes my_sqlBase donnes my_sql
Base donnes my_sql
 
atam guide de developpement v1.3
atam guide de developpement v1.3atam guide de developpement v1.3
atam guide de developpement v1.3
 
eServices-Tp2: bpel
eServices-Tp2: bpeleServices-Tp2: bpel
eServices-Tp2: bpel
 
Presentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPresentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptx
 
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
Nouveautés de DataDrill EXPRESS 4.1, 4.2, 4.3 et 4.4
 
Biztalk
BiztalkBiztalk
Biztalk
 
Génération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTOGénération de documents Office avec Open XML et VSTO
Génération de documents Office avec Open XML et VSTO
 
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
Tutoriel : Apprendre à configurer et gérer un serveur Web sous Windows Server...
 
Ibm blueworks live overview francais
Ibm blueworks live overview francaisIbm blueworks live overview francais
Ibm blueworks live overview francais
 

Dernier

JSIE 2024 : Les exploitants du Réseau Equin face à la crise
JSIE 2024 : Les exploitants du Réseau Equin face à la criseJSIE 2024 : Les exploitants du Réseau Equin face à la crise
JSIE 2024 : Les exploitants du Réseau Equin face à la crise
Institut de l'Elevage - Idele
 
ELABE BFMTV Actualisation 21H37 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 21H37 estimation 2nd tour élections législatives 2024ELABE BFMTV Actualisation 21H37 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 21H37 estimation 2nd tour élections législatives 2024
contact Elabe
 
Plan de communication pour "Les 7 sens".
Plan de communication pour "Les 7 sens".Plan de communication pour "Les 7 sens".
Plan de communication pour "Les 7 sens".
kevmaufay
 
ELABE BFMTV Actualisation 23H20 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 23H20 estimation 2nd tour élections législatives 2024ELABE BFMTV Actualisation 23H20 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 23H20 estimation 2nd tour élections législatives 2024
contact Elabe
 
JSIE 2024 :  Déclic Travail, un outil pour repenser son travail en équin
JSIE 2024 : 	Déclic Travail, un outil pour repenser son travail en équinJSIE 2024 : 	Déclic Travail, un outil pour repenser son travail en équin
JSIE 2024 :  Déclic Travail, un outil pour repenser son travail en équin
Institut de l'Elevage - Idele
 
Les Français et les élections législatives
Les Français et les élections législativesLes Français et les élections législatives
Les Français et les élections législatives
contact Elabe
 
ELABE BFMTV Actualisation 23H59 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 23H59 estimation 2nd tour élections législatives 2024ELABE BFMTV Actualisation 23H59 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 23H59 estimation 2nd tour élections législatives 2024
contact Elabe
 
Flash'Conso - Juillet 2024 : Les Français et les prospectus papier
Flash'Conso - Juillet 2024 : Les Français et les prospectus papierFlash'Conso - Juillet 2024 : Les Français et les prospectus papier
Flash'Conso - Juillet 2024 : Les Français et les prospectus papier
Enov
 
Les Français et la situation post élections législatives
Les Français et la situation post élections législativesLes Français et la situation post élections législatives
Les Français et la situation post élections législatives
contact Elabe
 
ELABE BFMTV Actualisation estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation estimation 2nd tour élections législatives 2024ELABE BFMTV Actualisation estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation estimation 2nd tour élections législatives 2024
contact Elabe
 
Projection de la participation ELABE pour BFMTV
Projection de la participation ELABE pour BFMTVProjection de la participation ELABE pour BFMTV
Projection de la participation ELABE pour BFMTV
contact Elabe
 
JSIE 2024 : Estimation de revenus des exploitations du Réseau équin
JSIE 2024 : Estimation de revenus des exploitations du Réseau équinJSIE 2024 : Estimation de revenus des exploitations du Réseau équin
JSIE 2024 : Estimation de revenus des exploitations du Réseau équin
Institut de l'Elevage - Idele
 
ELABE BFMTV Estimation 2nd tour élections législatives 2024
ELABE BFMTV Estimation 2nd tour élections législatives 2024ELABE BFMTV Estimation 2nd tour élections législatives 2024
ELABE BFMTV Estimation 2nd tour élections législatives 2024
contact Elabe
 
JSIE 2024 : le Portail Inosys, le site de références
JSIE 2024 : le Portail Inosys, le site de référencesJSIE 2024 : le Portail Inosys, le site de références
JSIE 2024 : le Portail Inosys, le site de références
Institut de l'Elevage - Idele
 

Dernier (14)

JSIE 2024 : Les exploitants du Réseau Equin face à la crise
JSIE 2024 : Les exploitants du Réseau Equin face à la criseJSIE 2024 : Les exploitants du Réseau Equin face à la crise
JSIE 2024 : Les exploitants du Réseau Equin face à la crise
 
ELABE BFMTV Actualisation 21H37 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 21H37 estimation 2nd tour élections législatives 2024ELABE BFMTV Actualisation 21H37 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 21H37 estimation 2nd tour élections législatives 2024
 
Plan de communication pour "Les 7 sens".
Plan de communication pour "Les 7 sens".Plan de communication pour "Les 7 sens".
Plan de communication pour "Les 7 sens".
 
ELABE BFMTV Actualisation 23H20 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 23H20 estimation 2nd tour élections législatives 2024ELABE BFMTV Actualisation 23H20 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 23H20 estimation 2nd tour élections législatives 2024
 
JSIE 2024 :  Déclic Travail, un outil pour repenser son travail en équin
JSIE 2024 : 	Déclic Travail, un outil pour repenser son travail en équinJSIE 2024 : 	Déclic Travail, un outil pour repenser son travail en équin
JSIE 2024 :  Déclic Travail, un outil pour repenser son travail en équin
 
Les Français et les élections législatives
Les Français et les élections législativesLes Français et les élections législatives
Les Français et les élections législatives
 
ELABE BFMTV Actualisation 23H59 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 23H59 estimation 2nd tour élections législatives 2024ELABE BFMTV Actualisation 23H59 estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation 23H59 estimation 2nd tour élections législatives 2024
 
Flash'Conso - Juillet 2024 : Les Français et les prospectus papier
Flash'Conso - Juillet 2024 : Les Français et les prospectus papierFlash'Conso - Juillet 2024 : Les Français et les prospectus papier
Flash'Conso - Juillet 2024 : Les Français et les prospectus papier
 
Les Français et la situation post élections législatives
Les Français et la situation post élections législativesLes Français et la situation post élections législatives
Les Français et la situation post élections législatives
 
ELABE BFMTV Actualisation estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation estimation 2nd tour élections législatives 2024ELABE BFMTV Actualisation estimation 2nd tour élections législatives 2024
ELABE BFMTV Actualisation estimation 2nd tour élections législatives 2024
 
Projection de la participation ELABE pour BFMTV
Projection de la participation ELABE pour BFMTVProjection de la participation ELABE pour BFMTV
Projection de la participation ELABE pour BFMTV
 
JSIE 2024 : Estimation de revenus des exploitations du Réseau équin
JSIE 2024 : Estimation de revenus des exploitations du Réseau équinJSIE 2024 : Estimation de revenus des exploitations du Réseau équin
JSIE 2024 : Estimation de revenus des exploitations du Réseau équin
 
ELABE BFMTV Estimation 2nd tour élections législatives 2024
ELABE BFMTV Estimation 2nd tour élections législatives 2024ELABE BFMTV Estimation 2nd tour élections législatives 2024
ELABE BFMTV Estimation 2nd tour élections législatives 2024
 
JSIE 2024 : le Portail Inosys, le site de références
JSIE 2024 : le Portail Inosys, le site de référencesJSIE 2024 : le Portail Inosys, le site de références
JSIE 2024 : le Portail Inosys, le site de références
 

Tp Sql Server Integration Services 2008

  • 1. Atelier N°1 : Débuter avec l’ETL SSIS My Abdelouahed Sabri Email : abdelouahed.sabri@gmail.com
  • 2. Sommaire I. Introduction....................................................................................................................... 4 II. L’ETL SQL Server Integration Services ............................................................................... 4 II.1. Unité de travail SSIS : Package................................................................................... 4 II.2. Les éléments d’un package SSIS................................................................................ 5 II.3. ControlFlow ............................................................................................................... 5 II.4. DataFlow.................................................................................................................... 6 II.5. Event Handlers .......................................................................................................... 6 III. Débuter avec SSIS 2008................................................................................................. 6 III.1. Création d’un package SSIS ....................................................................................... 6 III.2. Ajout de connexions au projet .................................................................................. 7 III.3. Création d’un flux de données Data Flow ............................................................... 11 III.4. Configuration du flux de données « Data Flow ».................................................... 11 III.5. Extraction des données 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 début du travail ......................................... 15 IV.3. Créer des colonnes dérivées ................................................................................... 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 données.......................................................................... 19 V.3. Extraction des données ........................................................................................... 20 V.4. Exercice.................................................................................................................... 20 VI. Extraire les données utilisant une requête SQL .......................................................... 21 VII. Gestion des erreurs ..................................................................................................... 23 VII.1. Premier exemple ................................................................................................. 24 VII.2. Gérer les erreurs.................................................................................................. 25 VII.3. Gestion d’erreur dans le premier exemple ......................................................... 25 VII.4. Gestion d’erreur avec « Event Handlers »........................................................... 27
  • 4. I. Introduction Microsoft, SQL Server 2008 est un système de gestion de bases de données relationnelles (SGBDR). Son moteur de base de données permet le stockage, la manipulation et l’analyse de données. En plus, grâce au langage T-SQL (Transact- SQL) il est possible d’utiliser les fonctions de la programmation procédurale sur le moteur de base de données. Pour réaliser des projets Bunsines Inteligence (BI), SQL Server 2008 contient trois plateformes en plus de son moteur, à savoir :  SQL Server Integration Services (SSIS): joue le rôle d’un ETL. Il permet d’intégrer des données provenant de différentes sources pour les ranger dans un entrepôt de données (Data Warehouse)  SQL Server Analysis Services (SSAS) : permet d’analyser les données, agrégées dans le Data Warehouse, grâce à des fonctions d’analyse multidimensionnelle  SQL Server Reporting Services (SSRS) : permet de créer, gérer et publier des rapports résultant des analyses réalisées 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. L’ETL SQL Server Integration Services L’ETL à pour objectif d’intégrer des données à partir de différentes sources dans un entrepôt de données (Data Warehouse.). Ainsi, on peut avec SSIS extraire des données provenant de différentes sources (Excel, MySQL…) et les insérer dans un SGBD cible. Normalement, un ETL (Extract-Transform-Loading) n’est utilisé qu’après avoir définie la structure du Data Warehouse. II.1.Unité de travail SSIS : Package L’environnement de travail dans un projet SSIS est appelé un « Package ». Ainsi, le package contient tous les scénarios de l « Extraction, Transformation, Chargement ». On peut créer autant de packages qu’on souhaite pour plusieurs taches d’ETL.
  • 5. II.2.Les éléments d’un package SSIS Dans chaque package on trouve 4 parties sous forme d’onglets (dans un projet SSIS):  ControlFlow (flux de contrôle) : partie orientée contrôle. Contient les différentes taches du package (qu’on peut ordonner). Par exemple, faire une troncature d’une table avant de la remplir.  DataFlow (flux de données) : comme le ControlFlow, mais dédié aux données. On peut retrouver dans le DataFlow les étapes de lecture, de modification et d'écriture des données.  Event Handlers (Gestionnaires d'événements) : permettant de gérer des évènements qui peuvent survenir dans les différents composants qui constituent un package SSIS et d'effectuer des actions en fonction de leur nature.  Package Explorer (Explorateur de package) : décrit, sous forme d'arborescence, tous les éléments constituant le package et qui permet d'accéder en quelques clics à tous les éléments du package et à leurs propriétés. II.3.ControlFlow C’une partie orientée contrôle. Elle contient les différentes taches du package (qu’on peut ordonner). Par exemple, faire une troncature d’une table avant de la remplir. Parmi les taches de contrôle, on trouve :  Data Flow Task : encapsule le moteur DataFlow permettant l’extraction de données à partir d’une source de données et une source destination  Script Task (Tâche de script) : permet de créer des fonctions (C# ou VB.Net)  Execute SQL Task : permettant d’exécuter des instructions SQL  XML Task : permettant l’exécution des opérations XML sur des sources de données de type XML  … En, plus de ces taches, on trouve des taches de maintenance :  Check Database Integrity Task : permettant la vérification de l’intégrité de la base de données (pages de données et pages d’index)  History Cleanup Task : permettant le nettoyage d’historique  … Il est possible de regrouper certaines tâches entre elles dans ce qu’on appelle un conteneur. Il existe ainsi des conteneurs répétitifs qui permettent de créer une boucle qui exécutera leurs tâches un certain nombre de fois :
  • 6.  For Loop Container,  Foreach Loop Container,  Sequence Container) II.4.DataFlow Pareil au ControlFlow, mais dédié aux données. On peut retrouver dans le DataFlow les étapes de lecture, de modification et d'écriture des données. Cet onglet contient trois types de contrôles :  Data Flow Sources : regroupe différents type de flux de données source. On y trouve sources de données de type Excel, Flat File, OLE DB, XML, ADO NET  Data Flow Destination : regroupe différents types de flux de données destination.  Data Flow Transformations : regroupe différent types de transformation : Agrégation, conversion de données, Merge, copie de colonnes II.5.Event Handlers Permettant de gérer des évènements qui peuvent survenir dans les différents 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 d’un événement « OnError ». III. Débuter avec SSIS 2008 Dans un premier exemple, on va essayer de créer un projet permettant l’extraction des données à partir d’un fichier plat vers une base de données SQL Server 2008 III.1. Création d’un package SSIS 1. Lancer MS Visual Studio 20080. Deux façons : a. Cliquer le menu démarrer  Microsoft SQL Server 2008  SQL Server Business Intelligence Development Studio b. Cliquer le menu démarrer  MS Visual Studio 2008  MS Visual Studio 2008 2. Cliquer le menu Fichier  Nouveau  Projet 3. Sélectionner le type de projet « Business Intelligence Projects » 4. Dans les modèles, sélectionner « Integration Services Project »
  • 7. 5. Entrer le nom du projet, l’emplacement et cliquer « OK » pour créer le projet SSIS 6. Une fois le projet crée, dans l’explorateur de solution, un package « Package.dtsx » est crée par défaut. On peut créer autant de packages que nécessaire. III.2. Ajout de connexions au projet Pour exporter des données à partir d’une source de données, il faut créer une connexion vers la source. Pour le faire, 1. Sélectionner l’onglet « ControlFlow », 2. Dans la « Connection Manager » en bas, cliquer bouton droit et sélectionner le type connexion. 3. Sélectionner une connexion de type « New OLE DB Connection ». 4. On peut créer une connexion à base des informations de connexion déjà créées. Sinon, cliquer « New » pour créer une nouvelle connexion. 5. Sélectionner le nom du serveur, le mode d’authentification et la base de données 6. Valider en cliquant « OK » pour créer une connexion vers la base de données. 7. Cliquer « OK » pour ajouter la connexion au projet
  • 8. Remarque ; il est possible de changer le type connexion dans la zone « Provider » Répéter 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 l’onglet « ControlFlow », et dans la « Connection Manager » en bas, cliquer bouton droit et sélectionner le type connexion. 2. Sélectionner une connexion de type « New Flat File Connection ». 3. Sélectionner le fichier dans la zone « File name »
  • 9. 4. Dans le cas ou la première 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 préciser le caractère délimiteur dans le fichier source et le délimiteur de lignes.
  • 10. 6. Cliquer « Advanced » dans zone de configuration pour modifier (si nécessaire) les informations des colonnes. 7. Cliquer « OK » pour valider et ajouter la connexion au projet
  • 11. III.3. Création d’un flux de données Data Flow La tâche de flux de données permet d'encapsuler le moteur de flux de données qui déplace les données entre les sources et les destinations et fournit la fonctionnalité grâce à laquelle il est possible de transformer, nettoyer et modifier les données lors de leur déplacement. La tâche de flux de données 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 après la création des gestionnaires de connexions pour les données sources et de destination. Mas, on peut commencer directement par cette tache et configuré une connexion pour chaque flux de données source « Data Flow Sources ». Pour ajouter une tâche de flux de données, il faut procéder comme suit :  Cliquer l’onglet « Control Flow »  Dans la Boîte à outils SSIS, développer « Control Flow Items » puis cliquer-glisser une tâche de flux de données « Data Flow Task » dans l’espace de conception de l'onglet « Control Flow »  Cliquer bouton droit sur la tache créée et cliquer « Renommer ». Taper « Extract From Text File » III.4. Configuration du flux de données « Data Flow » L’idée est d’extraire les données à partir d’un fichier plat vers une source SQL Server. Ainsi, il faut créer pour flux de donnée :  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 Procéder comme suit : 1. Cliquer l’onglet « Data Flow » 2. Configurer la source : o Glisser à partir de la boite à outils le contrôle « Flat File Source » o Cliquer bouton droit sur le contrôle et cliquer « Edit »
  • 12. o Sélectionner la connexion manager. Il est possible de créer 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 contrôle « OLE DB Destination » 4. Lier les deux sources en glissant la flèche verte du flux source vers le flux de la destination 5. Cliquer bouton droit sur le flux de données destination et cliquer « Edit » 6. Dans la zone « Name of the table or the view », il est possible soit : o d’utiliser une table déjà existante dans la base o ou bien créer 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 contrôle et les attributs sont les mêmes attributs du flux de données source
  • 13. 7. Cliquer « Mapping » dans la partie de configuration à gauche pour vérifier le mapping des colonnes entre le flux en entrée et le flux en sorite 8. Valider en cliquant « OK »
  • 14. III.5. Extraction des données utilisant SSIS Jusqu’ici, les flux source et destination sont bien configurés pour une extraction des données à partir d’un fichier plat (texte) vers une source de données OLE DB de type SQL server. Ce qui reste est tout simplement d’exécuter le package.  Cliquer le menu Déboguer  Démarrer le débogage. Si tout ce passe bien, les taches seront coloriées en vert signification de réussite d’extraction et chargement  Arrêter le débogage IV. Personnalisation de la tache Il est à noter que pour chaque exécution de package crée, les données extraites du fichier plat seront ajoutées aux données qui existent déjà dans la table de destination. Ainsi, il serait bien de vider la table avant l’extraction. Aussi, il serait bien d’afficher un message relatif au début de l’extraction. IV.1. Script SQL pour vider la table avant extraction 1. Cliquer l’onglet « Control Flow » 2. Glisser l’élément « Execute SQL Task » au package 3. Cliquer bouton droit et cliquer « Edit » 4. Dans « General », affecter à la propriété « Connection » la connexion OLE DB vers la base SQL Server
  • 15. 5. Ecrire la requete SQL (Truncate table Table_Name) comme valeur de la propriété « SQLStatement » 6. Lier la tache « Execute SQL Task » au « Data Flow Task » de telle sorte à ce que la requête SQL sera exécutée avant la tache du flux de données 7. Valider en cliquant « OK » 8. Exécuter le package et vérifier les données dans la table cible IV.2. Script C# pour afficher un message de début du travail 1. Dans l’onglet « Control Flow » glisser un élément « Script Task » 2. Cliquer bouton droit  Edit 3. Sélectionner 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 éléments de telle sorte à ce qu’elle soit la première a être exécutée 7. Exécuter le package IV.3. Créer des colonnes dérivées Une des possibilités offertes par SSIS est de pouvoir dérivées des colonnes sources et leur appliquer des fonctions SQL. Aisni, il est possible par exemple de n’afficher que le jour d’une date, …. Cette fonctionnalité est possible avec l’élément « Derived Column » de l’onglet « Data Flow » 1. Glisser le contrôle « Derived Column » 2. Le mettre entre le flux source et le flux destination
  • 16. 3. Double-cliquer sur le « Dervide Column »pour afficher l’éditeur. A gauche, on trouve les colonnes et variables. A droite, on trouve les fonctions et opérateurs qu’on peut utiliser. 4. Dans la zone en bas, cliquer pour dériver la colonne Name comme sur la figure en bas. Ceci à pour rôle de rendre le contenu du champ Name en majuscule.
  • 17. Il est possible de créer de nouvelles colonnes à partir des colonnes de la source Remarque : Il faut faire attention à ce que les champs résultants après application de « Derived Column » coïncident avec les champs de « OLE DB Destination » IV.4. Exercice : Créer un projet SSIS permettant d’extraire les données à partir d’un fichier Excel vers une table SQL Server 2008.
  • 18. V. Charger plusieurs fichiers plats dans une table SQL Server Lorsque on veut charger un ensemble de fichiers dans une base de données, il faut faire appel a une boucle Foreach peut nous aider dans ce processus. Ainsi, on va boucler pour insérer chacun des fichiers dans la table. Pour le faire, procéder comme suit : 1. Créer un nouveau package V.1. Configuration de la boucle Foreach 2. Dans l’onglet « Flow Control », glisser le conteneur « Foreach Lopp Container » 3. Double cliquer sur le « Foreach Loop Container » pour ouvrir l’éditeur. 4. Cliquer « Collection » et sélectionner pour la valeur « Enumerator » la valeur « Foreach File Enumerator » 5. Dans la partie « Enumerateur configuration » préciser le lien vers le dossier contenant les fichiers plats dans le champ « Folder » 6. Dans le champ « Files » taper « *.txt » pour ne prendre en considération que les fichiers dont l’extension est txt
  • 19. 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 créer la variable 11. Cliquer « OK » pour terminer la configuration de la boucle Foreach V.2.Configuration des flux de données 12. Ajouter un « Data Flow Task » dans le contrôle Foreach 13. Dans l’onglet « Data Flow » ajouter un « Flat File Source » et un « OLE DB Destination » 14. Configurer le « Flat File Source » pour qu’il 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 », sélectionner la connexion Flat et dans la fenêtre propriété sélectionner « Expression » et cliquer pour ouvrir l’éditeur d’expression.
  • 20. 18. Sélectionner la propriété « ConnectionString » et sélectionner comme Expression la variable créée dans la boucle Foreach 19. Valider en cliquant « ‘OK » pour affecter la variable 20. Cliquer « OK » pour terminer la configuration V.3.Extraction des données 21. Exécuter le package et verifier les données dans la base V.4.Exercice Reprendre le même principe pour extraire des données à partir de plusieurs fichiers Excel dans une seule table SQL Server 2008
  • 21. VI. Extraire les données utilisant une requête SQL Il est possible d’extraire des données à partir d’une source de données utilisant des requêtes personnalisées et de les charger dans une source destinataire. Dans notre exemple, on va récupérer des données à partir de trois tables d’une base SQL Server 2008 et les enregistrer dans un ficher plat. Pour le faire, procéder comme suit : 1. Créer un nouveau package 2. Créer un « Data Flow » 3. Ajouter une nouvelle « Connection Manager » de type « New OLE DB Connection » vers la base de données AdventureWorks2008R2 d’un serveur SQL Server 2008. 4. Ajouter une Source de données « OLE DB Source » 5. Double-cliquer sur la source pour la configurer. lier la à la connexion OLE créée avant et sélectionner comme mode d’accès au données « SQL Command » et taper la requête SQL comme sur la figure 6. Cliquer « OK » pour valider 7. Ajouter un flux de données 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. Après, Il sera demandé de choisir le
  • 22. 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
  • 23. 11. Cliquer « OK » pour valider Par défaut, la case « Overwrite data in the file » est cochée pour vider le ficher à chaque exécution 12. Après, vérifier le schéma en cliquant « Preview » et vérifier le « Mappings » 13. Exécuter le package et vérifier les données dans le fichier plat de destination VII. Gestion des erreurs Les erreurs peuvent se produire lorsqu'un composant de flux de données applique une transformation à des données, extrait des données à partir de sources ou charge des données dans des destinations. Les erreurs dans un ETL peuvent êtres regroupées en trois catégories :  Erreurs de conversion de données : si une conversion provoque la perte de chiffres significatifs, la perte de chiffres non significatifs et la troncation de chaînes.  Erreurs d'évaluation d'expression :si des expressions évaluées au moment de l'exécution effectuent des opérations non valides ou deviennent
  • 24. syntaxiquement incorrectes à cause de valeurs de données manquantes ou incorrectes.  Erreurs de recherche : qui se produisent si une opération de recherche ne retourne pas de valeurs La plupart des composants de flux de données prennent en charge les sorties d'erreur (connecteur en rouge). Cette sortie permet de contrôler la manière dont le composant gère les erreurs de lignes dans les données entrantes et sortantes. Ainsi, vous pouvez spécifier le comportement du composant lorsqu'une troncation ou une erreur se produit en définissant des options sur des colonnes dans l'entrée ou la sortie. La sortie d'erreur peut être connectée à l'entrée d'une autre transformation ou chargée dans une destination différente de la sortie sans erreur. Par exemple, la sortie d'erreur peut être connectée à une transformation de colonne dérivée qui fournit une chaîne pour une colonne vide. VII.1. Premier exemple Pour mettre en œuvre et tester la gestion d’erreurs sous SSIS on va créer un projet Intégration Services avec la situation suivante :  Un fichier Excel comme source de données dans les champs son les suivants : Nom, Prénom, Age, Adresse, Email  Remplissez le fichier avec des données et faites en sorte que le champ « Adresse » de quelques enregistrements soit vide  Une table SqlServer 2008 qui va recevoir les données du fichier Excel : CREATE TABLE TestETLError (Nom nvarchar(255), Prénom nvarchar(255), Adresse nvarchar(255) NOT NULL, Email nvarchar(255)) Remarquez bien que le champ Adresse n’admet pas de valeurs nulles. Tester en procédant comme suit : 1. Créer un projet SSIS avec comme flux de données source le fichier Excel et flux de données destination la table TestETLError
  • 25. 2. Exécuter la tache ; vous allez remarquer que le composant flux de données destination est en rouge. Ceci implique qu’une erreur (le champ Adresse de la table n’admet pas des valeurs nulles) est survenue VII.2. Gérer les erreurs Les erreurs appartiennent à l'une des deux catégories suivantes : erreurs ou troncations. Une erreur indique un échec non équivoque et génère un résultat NULL. Une troncation est une erreur moins grave. Elle génère des résultats qui peuvent être utilisables, voire même souhaitables. Vous pouvez faire en sorte de traiter les troncations comme des erreurs ou comme des conditions acceptables. Vous pouvez configurer la manière dont les sources, les transformations et les destinations gèrent les erreurs et les troncations. Le tableau ci-dessous décrit les options disponibles : Option Description « Fail Component » : Composant défaillant La tâche de flux de données échoue lorsqu'une erreur ou une troncation a lieu. L'échec est l'option par défaut pour une erreur et une troncation. « Ignore Failure » : Ignorer l'échec L'erreur ou la troncation est ignorée et la ligne de données est dirigée vers la sortie de la transformation ou de la source. « Redirect Row : Réacheminer la ligne La ligne de données d'erreur ou de troncation est dirigée vers la sortie d'erreur de la source, de la transformation ou de la destination. VII.3. Gestion d’erreur dans le premier exemple 1. Créer une nouvelle table SQL Server 2008 qui va contenir les champs qui ont causés l’eurreur (dont l’adresse est vide). Le schéma est le même que la
  • 26. table TestETLError (créée précédemment) mais avec le champ Adresse qui va accepter les valeurs nulles : CREATE TABLE TestETLGetErrors (Nom nvarchar(255), Prénom nvarchar(255), Adresse nvarchar(255), Email nvarchar(255)) 2. Ajoutez au projet un autre flux de données destination vers la table TestETLGetErrors 3. Liez la sortie d’erreur du flux de données déjà crée dans le premier exemple avec celui que vous venez de créer 4. Une fenêtre de configuration de la sortie erreur (Configure Output Error) sera lancée. Modifiez le champ « Error » à « Redirect Error » pour rediriger les lignes erreurs vers le deuxième flux. 5. Configurez le contrôle de flux de sortie et vérifier le mapping 6. Exécutez et vérifiez les données dans les deux tables
  • 27. Vous allez remarquer que sur l’ensemble des enregistrements dans le fichier Excel (qui sont en nombre de 1043 dans l’exemple) 1012 enregistrements sont acheminés vers la destination liée à la sortie erreur (se sont les enregistrements dont l’adresse est nulle) et le reste est enregistré dans le premier composant de flux de destination (se sont les enregistrements sans erreurs) VII.4. Gestion d’erreur avec « Event Handlers » SSIS offre la possibilité de gérer les erreurs d’une manière événementielle en utilisant l’onglet « Event Handlers » du paquetage. Dans la partie « Event Handlers », plusieurs événements peuvent être gérés et parmi eux il y a l’événement « OnError » qui se déclenche après chaque erreur d’exécution. Dans cet onglet, vous pouvez utiliser toutes les composantes de contrôle de flux de maintenance. Pour un simple exemple, dans le paquetage déjà crée, vous allez forcer une erreur et dans la partie « Event Handlers » vous allez utiliser un « Script Task » pour afficher le numéro et la description de l’erreur.  Double cliquez sur le premier contrôle flux de données destination et modifiez la valeur de « Error » dans « Error Output » à « Fail component ». Ceci à pour effet de générer une erreur et arrêter l’exécution  Dans l’onglet « Event Handlers » selectionnez « OnError » dans champ « Event Handlers » de votre package et cliquez pour ajouter un événement  Glisser à partir de la boite à outil un composant « Script Task »
  • 28.  Double cliquez sur ce composant pour afficher l’editeur 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 survenuen N: " + Dts.Variables["ErrorCode"].Value.ToString() + "nDescription: " + Dts.Variables["System::ErrorDescription"].Value.ToString()); Dts.TaskResult = (int)ScriptResults.Success;  Fermez la fenêtre du script et cliquez « Ok » pour valider  Exécutez pour tester le fonctionnement