Vous êtes sur la page 1sur 21

Prsentation de SQL Server Integration Services : SSIS

Par Fleur-Anne BLAIN

Date de publication : 7 novembre 2007 Dernire mise jour : 7 novembre 2007

Ce tutoriel a pour but de vous prsenter les services d'intgration de donnes de Microsoft SQL Server 2005, soit SSIS.

Prsentation 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 - Cration 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 donnes : un fichier plat................................................................................................... 6 III-C - Destination de l'import : Base de donnes MS SQL Server....................................................................... 6 IV - Gestion des sources de donnes........................................................................................................................ 7 IV-A - Cration d'une tche................................................................................................................................... 7 IV-B - Gestion de la source de donnes............................................................................................................... 8 V - Transformation des donnes............................................................................................................................... 11 V-A - Principes de notre transformation de donnes.......................................................................................... 11 V-B - Script de transformation............................................................................................................................. 11 VI - Destination des donnes.................................................................................................................................... 14 VI-A - Configuration de la destination des donnes : Base de donnes MS SQL Server................................... 14 VI-B - Import des donnes et vrifications.......................................................................................................... 17 VII - Dploiement du package SSIS......................................................................................................................... 17 Conclusion..................................................................................................................................................................20 Liens utiles................................................................................................................................................................. 21 Remerciements.......................................................................................................................................................... 21

-2Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Introduction
Afin de garder un systme d'information cohrent et de simplifier la vie des informaticiens, Microsoft SQL Server 2005 est dot d'un nouvel outil d'intgration de donnes (d'une source en passant par une transformation optionnelle des donnes, vers une destination) appell SSIS. Il permet de communiquer des donnes de systmes d'information diffrents ce qui reprsente bien les besoins actuels en terme de systme d'information, de transfert de donnes et permet de garder une cohrence. Prenons le cas d'une entreprise qui dispose d'une application. Celle-ci me gnre des donnes, dans notre cas sous forme de fichier plat, que nous souhaitons intgrer dans notre base de donnes. Notre problmatique tant de rcuprer ces informations, de vrifier leurs formats s'ils correspondent ou non aux formats de donnes de notre destination et enfin de les intgrer. Bien entendu, si notre application nous avait gnr un autre type de source de donnes, cela fonctionne aussi car SSIS gre plusieurs types de sources de donnes tels que les fichiers plats, les fichiers Excel, XML mais nous dcouvrirons tout cela plus tard. Nous allons explorer SSIS tout d'abord travers une prsentation. Nous nous familiariserons ensuite avec l'environnement de conception et d'utilisation de SSIS. Enfin, nous raliserons un exemple de projet SSIS complet.

I - Qu'est-ce que SSIS?


SSIS est un outil d'extraction, de transformation et de chargement de donnes, en bref ce que l'on appelle un ETL. On extrait d'une source de donnes, puis suit la transformation si besoin, pour ensuite injecter ces donnes vers MS SQL Server ou encore d'autres destinations. SSIS est l'amlioration de la version 2005 d'un outil souvent plus connu, dans les versions antrieures 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 connatre quelques notions de base en base de donnes (en particulier les types de donnes existants) est un plus.

II - L'environnement SSIS II-A - Cration 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 accs votre serveur de donnes. Ceci en vue au minimum de contrler que l'import s'est bien effectu (en plus des logs de progression disponiblent avec votre package SSIS). Pour crer votre projet, slectionnez Business Intelligence :

-3Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Crez alors votre nouveau projet de type Integration Services. Dcouvrons alors notre environnement de travail SSIS, que nous allons dtailler :

Comme nous pouvons le constater dans l'explorateur de solution, notre projet contient ds sa cration un package : package.dtx. C'est dans ce package que nous droulerons de manire ordonne la slection, la transformation et l'importation des donnes.

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 contrle : permet de contrler, d'ordonner et dissocier les tches raliser par le package.

Le Data Flow ou flux de donnes : permet de contrler, d'ordonner et dissocier les flux de donnes traiter. C'est cette tape que la slection, la transformation et l'insertion des donnes sont ralises.

L'Event Handlers ou gestionnaire d'vnements : Des vnements peuvent tre associs aux lments du package. Cet onglet permet donc de grer les vnements comme par exemple un traitement spcifique suite une gestion d'erreurs.

Le Package Explorer ou explorateur de package : permet par dfinition d'explorer le package travers une arborescence. Celle-ci est trs utile en particulier lors d'importants projets SSIS, ou si le package se compose de nombreux lments.

-4Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation 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 srie de composants en fonction de l'onglet sur lequel nous sommes, logique. Regardons de plus prs ces quelques extraits de notre boite outils : Au niveau flux de contrles, celle-ci se trouve organise en 2 parties comme nous pouvons le voir ci-dessous :

Divers contrles ou tches sont pr-existants comme les tches de flux de donnes, de nettoyage d'historique ou encore de sauvegarde de base de donnes, etc. Au niveau flux de donnes, celle-ci se trouve organise 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 mme nous avons plusieurs composants transformations que nous verrons ultrieurement et enfin les composants destinations tels que des fichiers plats, excel ou encore SQL Server.

-5Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation 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 donnes d'un fichier plat gnr par l'application de notre entreprise, dans notre base de donnes. Pour cela, il nous faudra spcifier dans un premier temps la source de donnes : notre fichier plat. Puis dans un second temps, il nous faudra raliser le script de transformation de donnes 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 donnes, plus prcisment la table souhaite que nous dcouvrirons plus tard. SSIS, travers tous ces composants, nous permet de crer un flux de donnes cohrent et organis. D'ailleurs, nous pouvons voir que ce flux de donnes est modlis par une flche 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 donnes : un fichier plat


Notre source de donnes intgrer est un fichier plat, contenant diverses donnes dont celles que nous souhaitons intgrer. Il se prsente de la manire suivante : Fichier clients intgrer
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 donnes d'entte, ici le libell des colonnes des donnes gnres. Il possde des donnes que nous allons ignorer, comme la premire colonne, car elle n'est pas prendre en compte dans l'insertion. De plus, certaines donnes devront subir des transformations avant d'tre importes car elles ne correspondent pas au format de destination. Enfin, notons que les donnes gnres ont un sparateur "|".

III-C - Destination de l'import : Base de donnes MS SQL Server


Nous avons notre disposition une base de donnes Microsoft SQL Server 2005 o nous allons importer les donnes. Ce fichier sera import dans une table client dont voici le script de cration : Script de cration de table
USE [TestSSIS] GO
-6Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Script de cration de table

SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[Client]( [IdClient] [int] IDENTITY(1,1) NOT NULL, [NomClient] [nvarchar](50) COLLATE French_CI_AS NOT NULL, [PrenomClient] [nvarchar](50) COLLATE French_CI_AS NULL, [DateNaiss] [datetime] NOT NULL, [NbreEnfant] [int] NOT NULL, [DateInterview] [datetime] NOT NULL ) ON [PRIMARY]

IV - Gestion des sources de donnes


La gestion des sources de donnes se compose de la cration d'un tche spcifique notre traitement puis du choix de notre source de donnes et du contenu de celle-ci.

IV-A - Cration d'une tche


La premire tape est de crer une nouvelle tche pour notre traitement. C'est de l'ordre du flux de contrle. Donc dans l'onglet flux de contrle, nous choisissons le composant de la boite outils Data Flow Task ou tche de flux de donnes :

Une tche permet d'encapsuler tout un traitement de donnes de la source, en passant par la transformation jusqu' la destination. Il est intressant de diviser en tches chaque traitement pour une question d'organisation dans un premier temps, mais aussi de rapidit d'excution car l'on peut excuter une tche parmi d'autres de manire spcifique. Enfin, diviser en tches est aussi intressant lors de l'excution du package car lorsqu'une erreur survient, cela ne bloque pas l'excution des autres tches si celles-ci n'ont aucune erreur spcifique. Pour crer une nouvelle tche, faites glisser le composant sur l'espace de travail. Nous la renommerons traitement client :

-7Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Comme dit prcdemment, nous pouvons constater qu'il est possible (clic droit) d'excuter une tche voulue sans que cela n'influe sur les autres.

IV-B - Gestion de la source de donnes


Dans un premier temps, ouvrons la tche en double cliquant dessus. Celle-ci va nous conduire dans l'onglet flux de donnes comme suit :

Ensuite, il nous faut crer une source de donnes. 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 donnes est diffrente, nous choisirons le composant correspondant.

Nous renommerons notre source de donnes en TestSSIS. Ensuite, il nous faut ouvrir la source de donnes afin de lui affecter notre fichier et nos conditions en double cliquant sur celle-ci. Cela nous amne cette fentre 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'entte ignorer, car le libell des colonnes (en premire ligne du fichier) n'est pas une donne prendre en compte :
-8Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Passons dans l'onglet colums ou colonnes de notre fentre. Nous pouvons constater qu'un premier aperu des donnes est disponible et que notre ligne d'entte a bien t ignore. Notons aussi que SSIS est intelligent, il a reconnu de lui mme le sparateur de donnes prsent dans le fichier source. Bien entendu il y en a d'autres possibles dans la liste de slection comme ";", tabulation ou autres.

Passons dans l'onglet advanced ou avanc de notre fentre. 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 premire 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 insrez vos donnes dans une base de donnes. Anticipons la transformation. Toutes les colonnes transformer, dans notre cas, resteront de type String afin de les manipuler (les dates et les entiers signs) en tant que chanes de caractres dans notre script de transformation.

-9Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Nous validons le traitement du fichier puis nous retournons la fentre initiale au niveau de l'onglet colums ou colonne. C'est ici que nous slectionnons les colonnes qui nous intressent. Par consquent, nous dcocherons uniquement la colonne 0 :

Nous validons entirement la connexion notre source de donnes. A noter que la petite croix rouge prsente en cas d'erreur (normal la cration de la source de donnes) a disparu une fois celle-ci attribue. De mme, notre manager de connexion (en bas) nous indique bien que le fichier TestSSIS a t pris en compte. En cas de modification, nous pouvons accder directement notre fichier plat en cliquant sur le fichier du manager de connexion.

- 10 Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

V - Transformation des donnes V-A - Principes de notre transformation de donnes


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 donnes 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 rpondu cette question lors de l'interview. Enfin, nous transformerons les donnes concernant les dates d'interview du format aaaa/mm au format de notre base de donnes savoir jj/mm/aaaa. Le jour n'tant pas prcis mais ncessaire, nous mettrons 01 en guise de jour toutes nos dates d'interview. Nous raliserons toutes ces transformations dans un mme fichier de script. Le principe de la transformation de donnes est d'utiliser les donnes du fichier en entre de transformation, de simuler une colonne intermdiaire de sortie aprs la transformation. Cette dernire fera office de colonne d'entre l'tape de l'import des donnes :

Ceci sera ralis pour chaque transformation.

V-B - Script de transformation


Dans notre cas, nous passerons par un script pour raliser cette transformation de donnes. Nous glisserons le composant Script Component sur notre espace de travail :

Avant de commencer la transformation, nous devons relier notre fichier source de donnes notre composant Script. Pour cela il suffit de faire glisser la flche verte jusqu'a notre composant Script comme dcrit ci-dessous :

Dbutons la transformation de donnes en double cliquant sur notre composant. Nous commencerons par l'onglet colonnes d'entres o nous slectionnons les colonnes transformer et uniquement celles-ci :

- 11 Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Dans l'onglet Inputs and Outputs, nous pouvons retrouver en entre les colonnes slectionnes prcdemment :

Nous ajoutons une colonne intermdiaire pour chaque colonne transformer. Nos colonnes transformes porteront le nom T_nomdecolonne afin de les dissocier :

En plus du nom, il nous faut modifier le type de chaque colonne transforme. Celuici doit correspondre au type de nos colonnes de base de donnes (datetime, int, etc.).

- 12 Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Aprs cela, nous pouvons passer concrtement au script en se rendant sur l'onglet Script puis Design Script :

Une nouvelle fentre 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 donnes 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 Imports Imports Imports Imports System System.Data System.Math Microsoft.SqlServer.Dts.Pipeline.Wrapper 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, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Script de transformation
End If

Row.TDateNaiss = New DateTime(annee, mois, jour)

'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, mme sur le principe. En effet, il est aussi possible selon les circonstances d'utiliser ce qu'on appelle les colonnes drives, avec lequel est fourni un assistant de manipulation de donnes si vous n'tes pas trs l'aise avec le VB.net. Cet assistant regroupe les principales fonctions connues sur les dates, les chanes de caractres ou autres.

VI - Destination des donnes VI-A - Configuration de la destination des donnes : Base de donnes MS SQL Server
Nous avons gr notre source de donnes, nous avons programm notre script de transformation, maintenant nous allons configurer l'import. Notre cible est une table client d'une base de donnes MS SQL Server 2005. Nous utiliserons, du fait de la base de donnes Microsoft SQL Server, le composant SQL Server Destination.

- 14 Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Nous faisons donc glisser le composant SQL Server Destination lui mme reli notre script (flche verte), que nous allons configurer en double cliquant sur celui-ci :

Remplir les lments demands reste assez intuitif. Cependant, si vous ne disposez pas au premier lancement de votre chane de connexion, il vous est possible d'en crer une comme suit :

Il nous faut slectionner le serveur, le type d'authentification choisie ainsi que la base de donnes voulue. Dans l'onglet manager de connexion, nous spcifions la connexion utiliser ainsi que la table destination de notre base de donnes. Dans notre cas, la table client :

- 15 Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation 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 transformes, il faut les spcifier nous mme comme ci-dessous :

D'autres possibilits 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 donnes. Il suffit de modifier cette donne pour que la modification de destination s'effectue dans tout le package.

- 16 Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

VI-B - Import des donnes et vrifications


Pour l'import des donnes, soit il nous faut cliquer droit sur la tche de l'onglet fulx de contrle afin de l'excuter (en particulier si nous ne souhaitons pas l'excution d'autres tches en mme temps), soit nous excutons tout le package (F5). Si l'excution se droule correctement, tout s'affiche en vert et le nombre de lignes insres est visible :

En cas d'erreur, le composant en erreur ou bloquant s'affiche en rouge. Il est possible de voir le dtail de cette erreur dans un nouvel onglet qui est apparu lors de l'excution : l'onglet Progress. Cet onglet droule tape par tape l'excution et donne les messages d'erreurs. La premire vrification possible dans Visual Studio est donc de voir tous nos composants s'orner de vert. Mais nous pouvons aussi vrifier dans notre base de donnes si l'insertion a bien t effective. Voici l'tat de notre table avant excution de notre package SSIS :

Voici notre table client aprs excution de notre package SSIS :

VII - Dploiement du package SSIS


Comme nous l'avons fait prcdemment, l'excution du package est possible via Visual Studio (F5). Cependant, un dploiement du package sur le serveur est plus avantageux, en particulier pour automatiser l'excution. La premire tape tant l'activation de la cration de l'utilitaire de dploiement de notre package. Pour cela, nous allons cliquer droit afin d'atteindre les proprits du projet. Dans l'onglet Deployement Utility, mettre la proprit CreatDeploiementUtility vrai comme suit :

- 17 Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Nous validons donc cette modification. Ensuite, il nous faut regnrer le projet. Nous vrifions 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-mme contient ce qui nous intresse, savoir le fichier SSIS_tutoriel.SSISDeploymentManifest dans notre cas. Afin de dbuter le dploiement, nous allons ouvrir ce fichier qui va nous diriger vers un assistant de dploiement 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 dfaut pour le dploiement de notre package. Puis nous continuons.
- 18 Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Nous arrivons sur une fentre intermdiaire nous demandant de confirmer. Bien entendu nous confirmons :

Nous arrivons sur une fentre rcapitulative avec diverses informations :

Voil, grce cet assistant, nous venons de deployer notre package. Vrifions que tout s'est correctement droul. Nous nous connecterons notre serveur l'aide d'SQL Server Management Studio en slectionnant Integration Services en type de serveur :

- 19 Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation de SQL Server Integration Services : SSIS par Fleur-Anne BLAIN

Notre package existe bien dans notre arborescence. C'est dj une bonne nouvelle. Nous allons l'excuter (clic droit Run Package) afin de constater que nous avons le mme rsultat :

Aprs excution, tout s'est droul comme prvu, les 11 lignes de notre fichier importer sont correctement arrives destination. Et si nous ne sommes toujours pas certains, il suffit de vrifier les donnes dans notre table.

Conclusion
Nous venons de parcourir quelques fonctionnalits vitales pour la cration d'un package SSIS. Bien entendu, il suffit de regarder de plus prs la bote outils pour constater qu'il en existe de nombreuses autres. Nous avons trait de SSIS et de son dploiement en "manuel". Cependant, si vous souhaitez automatiser l'excution du package (en batch), il vous faudra vous pencher davantage sur les fonctionnalits du service SQL Server Agent, qui permet de rgler trs facilement une frquence, une priode, etc. d'excution.

- 20 Copyright 2007 Fleur-Anne BLAIN. Aucune reproduction, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Prsentation 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, mme 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 intrts. Cette page est dpose la SACD.

http://fablain.developpez.com/tutoriel/ssis/

Vous aimerez peut-être aussi