Présentation de SQL Server Integration Services : SSIS

Page 1 sur 21Lecteur de document UniversityLib

Présentation de SQL Server Integration Services : SSIS

Data Integration and ETL (Extract, Transform, Load) using SQL Server · notes

Voir tous les documents en bases de données

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/