Pr sentation de SQL Server
Integration Services : SSIS
Par Fleur-Anne BLAIN
Date de publication : 7 novembre 2007
Derni re mise jour : 7 novembre 2007
Ce tutoriel a pour but de vous pr senter les services d'int gration de donn es de Microsoft
SQL Server 2005, soit SSIS.
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Introduction...................................................................................................................................................................3
I - Qu'est-ce que SSIS?.............................................................................................................................................. 3
II - L'environnement SSIS............................................................................................................................................3
II-A - Cr ation d'un projet SSIS............................................................................................................................. 3
II-B - L'espace de travail SSIS...............................................................................................................................4
II-C - La boite outils SSIS...................................................................................................................................5
III - Notre exemple de projet SSIS..............................................................................................................................6
III-A - Objectifs........................................................................................................................................................6
III-B - Notre source de donn es : un fichier plat................................................................................................... 6
III-C - Destination de l'import : Base de donn es MS SQL Server....................................................................... 6
IV - Gestion des sources de donn es........................................................................................................................ 7
IV-A - Cr ation d'une t che................................................................................................................................... 7
IV-B - Gestion de la source de donn es............................................................................................................... 8
V - Transformation des donn es............................................................................................................................... 11
V-A - Principes de notre transformation de donn es.......................................................................................... 11
V-B - Script de transformation............................................................................................................................. 11
VI - Destination des donn es.................................................................................................................................... 14
VI-A - Configuration de la destination des donn es : Base de donn es MS SQL Server................................... 14
VI-B - Import des donn es et v rifications.......................................................................................................... 17
VII - D ploiement du package SSIS......................................................................................................................... 17
Conclusion..................................................................................................................................................................20
Liens utiles................................................................................................................................................................. 21
Remerciements.......................................................................................................................................................... 21
- 2 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Introduction
Afin de garder un syst me d'information coh rent et de simplifier la vie des informaticiens, Microsoft SQL Server
2005 est dot d'un nouvel outil d'int gration de donn es (d'une source en passant par une transformation optionnelle
des donn es, vers une destination) appell SSIS. Il permet de communiquer des donn es de syst mes d'information
diff rents ce qui repr sente bien les besoins actuels en terme de syst me d'information, de transfert de donn es et
permet de garder une coh rence.
Prenons le cas d'une entreprise qui dispose d'une application. Celle-ci me g n re des donn es, dans notre cas
sous forme de fichier plat, que nous souhaitons int grer dans notre base de donn es. Notre probl matique tant de
r cup rer ces informations, de v rifier leurs formats s'ils correspondent ou non aux formats de donn es de notre
destination et enfin de les int grer.
Bien entendu, si notre application nous avait g n r un autre type de source de donn es, cela fonctionne aussi
car SSIS g re plusieurs types de sources de donn es tels que les fichiers plats, les fichiers Excel, XML mais nous
d couvrirons tout cela plus tard.
Nous allons explorer SSIS tout d'abord travers une pr sentation. Nous nous familiariserons ensuite avec
l'environnement de conception et d'utilisation de SSIS. Enfin, nous r aliserons un exemple de projet SSIS complet.
I - Qu'est-ce que SSIS?
SSIS est un outil d'extraction, de transformation et de chargement de donn es, en bref ce que l'on appelle un ETL.
On extrait d'une source de donn es, puis suit la transformation si besoin, pour ensuite injecter ces donn es vers MS
SQL Server ou encore d'autres destinations.
SSIS est l'am lioration de la version 2005 d'un outil souvent plus connu, dans les versions ant rieures 2005, sous
le nom de Data Transformation Services, soit DTS.
Pr -requis :
"
"
Microsoft Visual Studio Developper/Enterprise Edition
Microsoft SQL Server 2005 Standard/Enterprise Edition
De plus, savoir manipuler Visual Studio et conna tre quelques notions de base en base de donn es (en particulier
les types de donn es existants) est un plus.
II - L'environnement SSIS
II-A - Cr ation d'un projet SSIS
Comme il est stipul dans les pr -requis, pour travailler avec SSIS il vous faut un Microsoft Visual Studio
(fonctionnalit non disponible malheureusement avec les versions express). L'environnement de conception d'un
package SSIS est donc Visual Studio avec, si possible, un acc s votre serveur de donn es. Ceci en vue au minimum
de contr ler que l'import s'est bien effectu (en plus des logs de progression disponiblent avec votre package SSIS).
Pour cr er votre projet, s lectionnez Business Intelligence :
- 3 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Cr ez alors votre nouveau projet de type Integration Services. D couvrons alors notre environnement de travail SSIS,
que nous allons d tailler :
Comme nous pouvons le constater dans l'explorateur de solution, notre projet contient d s sa cr ation un package :
package.dtx. C'est dans ce package que nous d roulerons de mani re ordonn e la s lection, la transformation et
l'importation des donn es.
II-B - L'espace de travail SSIS
L'espace de travail (central) est divis en 4 parties sous forme d'onglet :
"
"
"
"
Le Control Flow ou flux de contr le : permet de contr ler, d'ordonner et dissocier les t ches r aliser par
le package.
Publicité
Le Data Flow ou flux de donn es : permet de contr ler, d'ordonner et dissocier les flux de donn es traiter.
C'est cette tape que la s lection, la transformation et l'insertion des donn es sont r alis es.
L'Event Handlers ou gestionnaire d' v nements : Des v nements peuvent tre associ s aux l ments
du package. Cet onglet permet donc de g rer les v nements comme par exemple un traitement sp cifique
suite une gestion d'erreurs.
Le Package Explorer ou explorateur de package : permet par d finition d'explorer le package travers une
arborescence. Celle-ci est tr s utile en particulier lors d'importants projets SSIS, ou si le package se compose
de nombreux l ments.
- 4 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
II-C - La boite outils SSIS
Tous nos composants de package se trouvent dans cette boite outils. Celle-ci propose une s rie de composants
en fonction de l'onglet sur lequel nous sommes, logique. Regardons de plus pr s ces quelques extraits de notre
boite outils :
Au niveau flux de contr les, celle-ci se trouve organis e en 2 parties comme nous pouvons le voir ci-dessous :
Divers contr les ou t ches sont pr -existants comme les t ches de flux de donn es, de nettoyage d'historique ou
encore de sauvegarde de base de donn es, etc.
Au niveau flux de donn es, celle-ci se trouve organis e en 3 parties : les composants source, les composants
transformation et enfin les composants destination.
Nous avons notre disposition divers types de composants source comme les fichiers Excel, les fichiers plats,
XML, etc. De m me nous avons plusieurs composants transformations que nous verrons ult rieurement et enfin les
composants destinations tels que des fichiers plats, excel ou encore SQL Server.
- 5 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
III - Notre exemple de projet SSIS
III-A - Objectifs
Notre objectif principal est d'importer les donn es d'un fichier plat g n r par l'application de notre entreprise, dans
notre base de donn es. Pour cela, il nous faudra sp cifier dans un premier temps la source de donn es : notre fichier
plat. Puis dans un second temps, il nous faudra r aliser le script de transformation de donn es afin que les formats
de celles-ci soient compatibles pour l'insertion comme les dates ou encore le nombre d'enfant. Enfin, en destination
nous identifierons la base de donn es, plus pr cis ment la table souhait e que nous d couvrirons plus tard.
SSIS, travers tous ces composants, nous permet de cr er un flux de donn es coh rent et organis . D'ailleurs, nous
pouvons voir que ce flux de donn es est mod lis par une fl che verte qui permet d'effectuer le lien entre chaque
composant. Et donc, entre chacune de nos tapes avant l'import :
III-B - Notre source de donn es : un fichier plat
Notre source de donn es int grer est un fichier plat, contenant diverses donn es dont celles que nous souhaitons
int grer. Il se pr sente de la mani re suivante :
Fichier clients int grer
code|NomClient|PrenomClient|DateNaiss|NbEnfant|DateInterview
00000|Houm|Benoit|19840822|1-|200709
azerty|Dupont|Nicolas|19700513|4|200701
00001|Tapis|Yan|19690911|1-|200702
00011|Posinello|Marisa|19801223|4|200602
00002|Champ||19740228|1-|200703
III22|Fiore|Sophie|19820330|2|200703
00001|Tapis|Yan|19690911|1-|200711
00011|Luc|Charlie|19701103|0|200703
II022|Bazin|Jean-Charles|17820420|5|200705
00001|Tapis|Yan|19690911|1-|200704
99011|Masel|Fanny|19790108|1|200706
Ce fichier plat a ce qu'on appelle des donn es d'ent te, ici le libell des colonnes des donn es g n r es. Il
poss de des donn es que nous allons ignorer, comme la premi re colonne, car elle n'est pas prendre en compte
dans l'insertion. De plus, certaines donn es devront subir des transformations avant d' tre import es car elles ne
correspondent pas au format de destination. Enfin, notons que les donn es g n r es ont un s parateur "|".
III-C - Destination de l'import : Base de donn es MS SQL Server
Nous avons notre disposition une base de donn es Microsoft SQL Server 2005 o nous allons importer les donn es.
Ce fichier sera import dans une table client dont voici le script de cr ation :
Script de cr ation de table
USE
GO
- 6 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Script de cr ation de table
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE . (
IDENTITY(1,1) NOT NULL,
(50) COLLATE French_CI_AS NOT NULL,
(50) COLLATE French_CI_AS NULL,
NOT NULL,
NOT NULL,
NOT NULL
) ON
IV - Gestion des sources de donn es
La gestion des sources de donn es se compose de la cr ation d'un t che sp cifique notre traitement puis du choix
de notre source de donn es et du contenu de celle-ci.
IV-A - Cr ation d'une t che
La premi re tape est de cr er une nouvelle t che pour notre traitement. C'est de l'ordre du flux de contr le. Donc
Publicité
dans l'onglet flux de contr le, nous choisissons le composant de la boite outils Data Flow Task ou t che de flux
de donn es :
Une t che permet d'encapsuler tout un traitement de donn es de la source, en passant par la transformation jusqu' la
destination. Il est int ressant de diviser en t ches chaque traitement pour une question d'organisation dans un premier
temps, mais aussi de rapidit d'ex cution car l'on peut ex cuter une t che parmi d'autres de mani re sp cifique.
Enfin, diviser en t ches est aussi int ressant lors de l'ex cution du package car lorsqu'une erreur survient, cela ne
bloque pas l'ex cution des autres t ches si celles-ci n'ont aucune erreur sp cifique.
Pour cr er une nouvelle t che, faites glisser le composant sur l'espace de travail. Nous la renommerons traitement
client :
- 7 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Comme dit pr c demment, nous pouvons constater qu'il est possible (clic droit) d'ex cuter
une t che voulue sans que cela n'influe sur les autres.
IV-B - Gestion de la source de donn es
Dans un premier temps, ouvrons la t che en double cliquant dessus. Celle-ci va nous conduire dans l'onglet flux de
donn es comme suit :
Ensuite, il nous faut cr er une source de donn es. Dans notre cas c'est un fichier plat donc nous allons faire glisser
le composant Flat file Source ou source fichier plat sur notre espace de travail. Bien entendu si notre source de
donn es est diff rente, nous choisirons le composant correspondant.
Nous renommerons notre source de donn es en TestSSIS. Ensuite, il nous faut ouvrir la source de donn es afin de
lui affecter notre fichier et nos conditions en double cliquant sur celle-ci. Cela nous am ne cette fen tre ou bien
entendu nous allons cliquer sur new.
Ci-dessous, nous affectons notre fichier TestSSIS notre composant source. Notons que nous avons mis 1 le
nombre de lignes d'ent te ignorer, car le libell des colonnes (en premi re ligne du fichier) n'est pas une donn e
prendre en compte :
- 8 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Passons dans l'onglet colums ou colonnes de notre fen tre. Nous pouvons constater qu'un premier aper u des
donn es est disponible et que notre ligne d'ent te a bien t ignor e. Notons aussi que SSIS est intelligent, il a
reconnu de lui m me le s parateur de donn es pr sent dans le fichier source. Bien entendu il y en a d'autres possibles
dans la liste de s lection comme ";", tabulation ou autres.
Passons dans l'onglet advanced ou avanc de notre fen tre. A cette tape, nous renommons, affectons un type
et une taille nos colonnes. Nous n'effectuons cette action que pour les colonnes que nous garderons par la suite.
Souvenez-vous que la premi re colonne du fichier (colonne 0 ici) est un code que nous ne souhaitons pas importer.
Vos types de colonnes doivent tre identiques aux types des colonnes de votre table si vous ins rez vos
donn es dans une base de donn es.
Anticipons la transformation. Toutes les colonnes transformer, dans notre cas,
resteront de type String afin de les manipuler (les dates et les entiers sign s) en
tant que cha nes de caract res dans notre script de transformation.
- 9 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Nous validons le traitement du fichier puis nous retournons la fen tre initiale au niveau de l'onglet colums ou
colonne. C'est ici que nous s lectionnons les colonnes qui nous int ressent. Par cons quent, nous d cocherons
uniquement la colonne 0 :
Nous validons enti rement la connexion notre source de donn es. A noter que la petite croix rouge
pr sente
en cas d'erreur (normal la cr ation de la source de donn es) a disparu une fois celle-ci attribu e. De m me, notre
manager de connexion (en bas) nous indique bien que le fichier TestSSIS a t pris en compte. En cas de modification,
nous pouvons acc der directement notre fichier plat en cliquant sur le fichier du manager de connexion.
- 10 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
V - Transformation des donn es
V-A - Principes de notre transformation de donn es
Notre transformation consiste passer la date de naissance du format aaaa/mm/jj au format de notre colonne
DateNaiss soit jj/mm/aaaa. Nous transformerons aussi les donn es de notre fichier au niveau du nombre d'enfants. Le
1- devra passer en entier sign -1, celui-ci signifiant que le client n'a pas r pondu cette question lors de l'interview.
Enfin, nous transformerons les donn es concernant les dates d'interview du format aaaa/mm au format de notre base
de donn es savoir jj/mm/aaaa. Le jour n' tant pas pr cis mais n cessaire, nous mettrons 01 en guise de jour
toutes nos dates d'interview.
Nous r aliserons toutes ces transformations dans un m me fichier de script.
Le principe de la transformation de donn es est d'utiliser les donn es du fichier en entr e de transformation, de
simuler une colonne interm diaire de sortie apr s la transformation. Cette derni re fera office de colonne d'entr e
l' tape de l'import des donn es :
Ceci sera r alis pour chaque transformation.
V-B - Script de transformation
Dans notre cas, nous passerons par un script pour r aliser cette transformation de donn es. Nous glisserons le
composant Script Component sur notre espace de travail :
Avant de commencer la transformation, nous devons relier notre fichier source de donn es notre composant Script.
Pour cela il suffit de faire glisser la fl che verte jusqu'a notre composant Script comme d crit ci-dessous :
D butons la transformation de donn es en double cliquant sur notre composant. Nous commencerons par l'onglet
colonnes d'entr es o nous s lectionnons les colonnes transformer et uniquement celles-ci :
- 11 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Dans l'onglet Inputs and Outputs, nous pouvons retrouver en entr e les colonnes s lectionn es pr c demment :
Publicité
Nous ajoutons une colonne interm diaire pour chaque colonne transformer. Nos colonnes transform es porteront
le nom T_nomdecolonne afin de les dissocier :
En plus du nom, il nous faut modifier le type de chaque colonne transform e. Celui-
ci doit correspondre au type de nos colonnes de base de donn es (datetime, int,
etc.).
- 12 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Apr s cela, nous pouvons passer concr tement au script en se rendant sur l'onglet Script puis Design Script :
Une nouvelle fen tre Visual Studio For Applications s'ouvre. C'est la o nous allons programmer notre script de
transformation. A noter que ce script est en VB.NET.
Voici le code, par exemple, pour manipuler nos donn es dans notre cas :
Script de transformation
' Microsoft SQL Server Integration Services user script component
' This is your new script component in Microsoft Visual Basic .NET
' ScriptMain is the entrypoint class for script components
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper
Imports Microsoft.SqlServer.Dts.Runtime.Wrapper
Public Class ScriptMain
Inherits UserComponent
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
'
' Add your code here
'
'Transformation de la date de naissance
If Not Row.DateNaiss_IsNull Then
Dim annee As Integer = Integer.Parse(Row.DateNaiss.Substring(0, 4))
Dim mois As Integer = Integer.Parse(Row.DateNaiss.Substring(4, 2))
Dim jour As Integer = Integer.Parse(Row.DateNaiss.Substring(6, 2))
- 13 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Script de transformation
Row.TDateNaiss = New DateTime(annee, mois, jour)
End If
'Transformation du nombre d'enfant
If Not Row.NombreEnfant_IsNull Then
Dim isNegativ As Boolean = Row.NombreEnfant.Contains("-")
Dim nb As String = Row.NombreEnfant.Replace("-", String.Empty)
Dim res As Integer = Integer.Parse(nb)
If isNegativ Then
res = -res
End If
Row.TNombreEnfant = res
End If
'Transformation de la date d'interview
If Not Row.DateInterview_IsNull Then
Dim annee As Integer = Integer.Parse(Row.DateInterview.Substring(0, 4))
Dim mois As Integer = Integer.Parse(Row.DateInterview.Substring(4, 2))
Dim jour As Integer = 1
Row.TDateInterview = New DateTime(annee, mois, jour)
End If
End Sub
End Class
Bien entendu, ce type de transformation reste un exemple, m me sur le principe. En
effet, il est aussi possible selon les circonstances d'utiliser ce qu'on appelle les colonnes
d riv es, avec lequel est fourni un assistant de manipulation de donn es si vous n' tes
pas tr s l'aise avec le VB.net. Cet assistant regroupe les principales fonctions connues
sur les dates, les cha nes de caract res ou autres.
VI - Destination des donn es
VI-A - Configuration de la destination des donn es : Base de donn es MS SQL Server
Nous avons g r notre source de donn es, nous avons programm notre script de transformation, maintenant
nous allons configurer l'import. Notre cible est une table client d'une base de donn es MS SQL Server 2005. Nous
utiliserons, du fait de la base de donn es Microsoft SQL Server, le composant SQL Server Destination.
- 14 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Nous faisons donc glisser le composant SQL Server Destination lui m me reli notre script (fl che verte), que nous
allons configurer en double cliquant sur celui-ci :
Remplir les l ments demand s reste assez intuitif. Cependant, si vous ne disposez pas au premier lancement de
votre cha ne de connexion, il vous est possible d'en cr er une comme suit :
Il nous faut s lectionner le serveur, le type d'authentification choisie ainsi que la base de donn es voulue.
Dans l'onglet manager de connexion, nous sp cifions la connexion utiliser ainsi que la table destination de notre
base de donn es. Dans notre cas, la table client :
- 15 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Au niveau de l'onglet Mapping, SSIS arrive associer les bonnes colonnes entre elles. Mais concernant les colonnes
Publicité
transform es, il faut les sp cifier nous m me comme ci-dessous :
D'autres possibilit s sont offertes dans l'onglet Advanced :
A noter que notre manager de connexion, en plus de notre fichier nous a ajout (en bas)
notre connexion notre base de donn es. Il suffit de modifier cette donn e pour que la
modification de destination s'effectue dans tout le package.
- 16 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
VI-B - Import des donn es et v rifications
Pour l'import des donn es, soit il nous faut cliquer droit sur la t che de l'onglet fulx de contr le afin de l'ex cuter
(en particulier si nous ne souhaitons pas l'ex cution d'autres t ches en m me temps), soit nous ex cutons tout le
package (F5). Si l'ex cution se d roule correctement, tout s'affiche en vert et le nombre de lignes ins r es est visible :
En cas d'erreur, le composant en erreur ou bloquant s'affiche en rouge. Il est possible de voir le d tail de cette erreur
dans un nouvel onglet qui est apparu lors de l'ex cution : l'onglet Progress. Cet onglet d roule tape par tape
l'ex cution et donne les messages d'erreurs.
La premi re v rification possible dans Visual Studio est donc de voir tous nos composants s'orner de vert. Mais nous
pouvons aussi v rifier dans notre base de donn es si l'insertion a bien t effective. Voici l' tat de notre table avant
ex cution de notre package SSIS :
Voici notre table client apr s ex cution de notre package SSIS :
VII - D ploiement du package SSIS
Comme nous l'avons fait pr c demment, l'ex cution du package est possible via Visual Studio (F5). Cependant, un
d ploiement du package sur le serveur est plus avantageux, en particulier pour automatiser l'ex cution.
La premi re tape tant l'activation de la cr ation de l'utilitaire de d ploiement de notre package. Pour cela, nous
allons cliquer droit afin d'atteindre les propri t s du projet. Dans l'onglet Deployement Utility, mettre la propri t
CreatDeploiementUtility vrai comme suit :
- 17 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Nous validons donc cette modification. Ensuite, il nous faut reg n rer le projet. Nous v rifions que la modification a
bien t prise en compte dans notre projet Visual Studio comme suit :
Il y a bien un dossier deployement, qui lui-m me contient ce qui nous int resse, savoir le fichier
SSIS_tutoriel.SSISDeploymentManifest dans notre cas. Afin de d buter le d ploiement, nous allons ouvrir ce fichier
qui va nous diriger vers un assistant de d ploiement de package.
Dans notre cas, nous choisirons File System Deployement. Selon vos besoins et suivant la description qui peut vous
aider, vous devrez choisir l'un ou l'autre.
Continuons l'assistant. Nous laissons le chemin par d faut pour le d ploiement de notre package. Puis nous
continuons.
- 18 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Nous arrivons sur une fen tre interm diaire nous demandant de confirmer. Bien entendu nous confirmons :
Nous arrivons sur une fen tre r capitulative avec diverses informations :
Voil , gr ce cet assistant, nous venons de deployer notre package. V rifions que tout s'est correctement d roul .
Nous nous connecterons notre serveur l'aide d'SQL Server Management Studio en s lectionnant Integration
Services en type de serveur :
- 19 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Notre package existe bien dans notre arborescence. C'est d j une bonne nouvelle. Nous allons l'ex cuter (clic droit
Run Package) afin de constater que nous avons le m me r sultat :
Apr s ex cution, tout s'est d roul comme pr vu, les 11 lignes de notre fichier importer sont correctement arriv es
destination. Et si nous ne sommes toujours pas certains, il suffit de v rifier les donn es dans notre table.
Conclusion
Nous venons de parcourir quelques fonctionnalit s vitales pour la cr ation d'un package SSIS. Bien entendu, il suffit
de regarder de plus pr s la bo te outils pour constater qu'il en existe de nombreuses autres.
Nous avons trait de SSIS et de son d ploiement en "manuel". Cependant, si vous souhaitez automatiser l'ex cution
du package (en batch), il vous faudra vous pencher davantage sur les fonctionnalit s du service SQL Server Agent,
qui permet de r gler tr s facilement une fr quence, une p riode, etc. d'ex cution.
- 20 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/
Pr sentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN
Liens utiles
"
"
"
Microsoft Visual Studio Developper/Enterprise Edition
Microsoft SQL Server 2005 Standard/Enterprise Edition
Microsoft TechNet SQL Server Integraiton Services
Remerciements
Je remercie Dut et Pedro pour leurs corrections ainsi que pcaboche et Ditch pour leurs remarques constructives.
- 21 -
Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, m me partielle, ne peut tre faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation
expresse de l'auteur. Sinon vous encourez selon la loi jusqu' trois ans de prison et jusqu' 300 000 de dommages et int r ts. Cette page est d pos e la SACD.
http://fablain.developpez.com/tutoriel/ssis/