SlideShare une entreprise Scribd logo
1  sur  65
Télécharger pour lire hors ligne
Introduction à Sql Server
        Integration Services (SSIS)

                 par Olivier DELMOTTE (Site Perso)


                         Date de publication : 07/06/2007

                         Dernière mise à jour : 07/06/2007




Plus connu avant sous le nom de Data Transformation Services (DTS), SSIS
est la nouvelle version ce cet outil de SQL Server apparu avec la version 2005
du SGBD de Microsoft. Nous allons essayer de découvrir ensemble ce que
peut nous apporter SSIS.
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




1 - Présentation générale
2 - Comment travailler avec SSIS ?
    2-1 - ControlFlow
    2-2 - DataFlow
    2-3 - Event Handlers
    2-4 - Package Explorer
3 - Présentation de l'exemple
    3-1 - Structure d'un fichier de log de IIS
    3-2 - Tâches à réaliser par notre package
    3-3 - Stockage
4 - La copie du fichier
5 - Traitement du fichier de log
    5-1 - Lecture du fichier de log
       5-1-1 - La connexion au fichier de log
       5-1-2 - Flat File Source
       5-1-3 - Création de la colonne DateTime
       5-1-4 - Conversion des données
    5-2 - Ecriture en base
       5-2-1 - Une connexion à la base
       5-2-2 - Liaison de nos données à la base
    5-3 - Première tentative d'exécution du Data Flow
6 - Dernier ajustement sur le Control Flow
7 - Déploiement du package
    7-1 - Déploiement
    7-2 - Vérification du déploiement et exécution
8 - Conclusion
    Remerciements




                                                                      -2-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




 1 - Présentation générale

Tout d'abord, pour pouvoir disposer de SSIS, vous devez utiliser SQL Server 2005 Standard ou Entreprise Edition
(Developper Edition aussi, mais pour le développement). Les versions Express et autres Standard et Workgroup
Edition ne sont malheureusement pas dotées de cette fonctionnalité. Seules les versions Entreprise et Developper
proposent toutes les fonctionnalités de SSIS. Reportez-vous à ces pages pour plus de détails sur les possibilités
offertes par chaque version :

•          http://msdn2.microsoft.com/en-us/library/ms143761.aspx
•          http://fadace.developpez.com/mssql/licences2005/

Maintenant que nous avons vu quelles versions permettent d'exploiter SSIS, voyons maintenant à quoi peut servir
cette nouvelle fonctionnalité.

En résumé, SSIS vous permet de transformer vos donner, de les importer ou de les exporter vers ou depuis SQL
Server ou/et d'autes sources/cibles de données.

Prenons un exemple concret. Vous avez un serveur Web - au hasard Internet Information Service (IIS) - et vous
voulez pouvoir obtenir des statistiques de son utilisation. Si vous connaissez un peu IIS, vous savez sans doute qu'il
ne permet de ne générer qu'un fichier de log au format texte.

 Exemple de fichier de log IIS
     #Software: Microsoft Internet Information Services 5.1
     #Version: 1.0
     #Date: 2007-05-21 17:03:20
     #Fields: time c-ip cs-method cs-uri-stem sc-status
     17:03:20 127.0.0.1 GET /EspacePerso/~/images/baniereperso.png 404
     17:06:52 127.0.0.1 GET /EspacePerso/net/test/Default.aspx 404
     17:08:07 127.0.0.1 DEBUG /EspacePerso/ViewArticle.aspx 401
     17:08:13 127.0.0.1 DEBUG /EspacePerso/ViewArticle.aspx 200
     17:08:17 127.0.0.1 GET /EspacePerso/ViewArticle.aspx 200


Pour réaliser des statistiques, avec Sql Server Reporting Services par exemple, ce n'est pas ce qu'il y a de plus aisé.
La solution est de transformer ce fichier de log et d'en intégrer les données dans une base de données. C'est là que
SSIS intervient : il est capable de traiter se fichier de log et d'en transformer le contenu pour l'intégrer dans une base.




                                    Figure 1:Processus de traitement des fichiers de log IIS

Ce que va faire SSIS, c'est ouvrir le fichier de log, le découper comme il faut, et l'insérer dans une ou plusieurs tables
d'une base. Nous nous servirons de cet exemple pour mieux comprendre comment SSIS fonctionne.




                                                                      -3-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




 2 - Comment travailler avec SSIS ?

Comme pour tout ce qui touche au développement pour SQL Server, c'est Visual Studio qui sera utilisé.




                                           Figure 2:Intégration de SSIS à Visual Studio

Pour travailler avec SSIS, il vous faut créer un projet Integration Services Project classé dans la catégorie Business
Intelligence Projects.




                                                                      -4-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                    Figure 3:Création du projet SSIS

Tout d'abord, que contient le projet ?




                                                                      -5-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                Figure 4:Apperçu du Solution Explorer

A sa création, le projet ne contient qu'un package : Package.dtsx. Un package est, en quelque sorte, un script pour
SSIS. Il contient une liste d'actions à effectuer par SSIS. Les actions disponibles se situent au niveau de la Toolbox :




                                                                      -6-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                       Figure 5:Toolbox de Visual Studio pour un package

Si vous regardez toute la liste, vous verrez que les possibilités offertes par SSIS sont déjà très nombreuses. Je ne
vais pas les détailler toutes, la liste serait beaucoup trop longue. Je me limiterai à celles que nous utiliserons. Enfin,
le dernier élément, l'espace d'édition du package :




                                                                      -7-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                              Figure 6:Espace de travail d'un Package

Il se divise en 4 parties :
•     ControlFlow
•     DataFlow
•     Event Handlers
•     Package Explorer


 2-1 - ControlFlow

Comme tout programme ou script, un package SSIS doit suivre une certaine logique de fonctionnement. Le package
doit avoir un début et une fin, exécuter des tâches dans un ordre bien particulier (lire les données avant de les
traiter par exemple, ça peut aider). C'est donc dans le ControlFlow que nous allons décrire les différentes tâches
d'un package. Il est possible de ne pas attribuer un ordre précis à tous les travaux, mais il est quand même bon de
garder une certaine logique.

 2-2 - DataFlow

Le DataFlow est comme le ControlFlow, mais il est dédié aux données. Typiquement, dans un DataFlow, nous
retrouverons, dans cet ordre, des étapes de lecture, de modification et enfin d'écriture des données. Je ne vous en
dis pas plus, nous verrons cela plus en détail plus loin.

 2-3 - Event Handlers

Il est possible de gérer des évènements qui peuvent survenir dans les différents composants qui constituent un
package SSIS et d'effectuer des actions en fonction de leur nature. C'est via le panneau Event Handlers que nous
gèrerons ces évènements.

 2-4 - Package Explorer

Le Package Explorer est comme le Solution Explorer. Il décrit, sous forme d'arborescence, tous les éléments qui
constituent le package et nous permet d'accéder en quelques clics à tous les éléments du package et à leurs
propriétés.




                                                                      -8-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




 3 - Présentation de l'exemple

Comme je vous l'ai dit plus haut, nous allons automatiser l'analyse des fichiers de log de IIS (seulement la partie
serveur http, ce sera largement suffisant).

 3-1 - Structure d'un fichier de log de IIS

Voici un fichier extrait de fichier de log IIS, le tout début pour être exact.

 Extrait d'un fichier de log IIS (les lignes sont coupées pour plus de visibilité)
     #Software: Microsoft Internet Information Services 5.1
     #Version: 1.0
     #Date: 2007-05-27 07:38:39
     #Fields: date time c-ip cs-username s-sitename s-computername s-ip s-port cs-method
      cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken
      cs-version cs-host cs(User-Agent) cs(Cookie) cs(Referer)
     2007-05-27 07:38:39 127.0.0.1 - W3SVC1 DTCBPXP 127.0.0.1 80 GET
      /EspacePerso/~/images/baniereperso.png
      - 404 3 4383 305 300 HTTP/1.1 localhost
      Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322;
      +.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506.30) - -
     2007-05-27 07:40:26 127.0.0.1 - W3SVC1 DTCBPXP 127.0.0.1 80 DEBUG /EspacePerso/DebugAttach.aspx
       - 401 0 351 406 3675 HTTP/1.1 localhost - - -


Ce petit exemple va nous servir à comprendre sa structure. Tout d'abord, vous remarquerez les 4 premières lignes
qui sont un peu particulières. Elles sont ici à titre d'information.

La première ligne nous donne des informations sur la version de IIS que nous utilisons. Je suis sous Windows XP,
j'ai donc IIS 5.1.

La deuxième ligne nous renseigne sur la version # de quoi je ne sais pas, mais de toute façon, elle ne nous intéresse
pas ici.

La troisième ligne nous retourne la date et l'heure de création du fichier. Elle n'a pas une grande utilité pour le
traitement qui nous intéresse.

La quatrième ligne, contrairement aux 3 précédentes, est une source d'information vitale pour le travail que nous
allons réaliser. Elle contient en effet une description de la formation des lignes de log. Une ligne de log à proprement
parler contient toutes les valeurs que nous souhaitons tracer séparées par des espaces. IIS nous offre la possibilité,
via la console d'administration, de choisir les informations sur l'activité du serveur Web que nous souhaitons
conserver.




                                                                      -9-
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                              Figure 7:Options du fichier de log de IIS

Comme vous pouvez le constater, ces informations sont très complètes. Dans notre exemple, elles seront toutes
utilisées.

Revenons sur la 4ème ligne. Pourquoi cette ligne est-elle si importante ? Comme vous l'aurez sans doute compris,
il est possible que le log de l'activité de IIS ne nous renvoie pas toujours les mêmes informations, selon les besoins
de l'administrateur. Il est donc important de savoir ce que nous allons récupérer comme information.

Il faut savoir aussi que cette section de 4 lignes d'en-têtes peut se répéter plusieurs fois dans un même fichier
(changements de configuration, redémarrage).

Donc, à la suite de ces 4 lignes, nous récupérons les lignes de données qui nous intéressent réellement. Dans ce
didacticiel, je ferai comme si la structure du fichier de log n'était pas modifiable et qu'il n'y avait qu'une seule section
d'en-tête par fichier afin de ne pas rentrer dans les détails. Afin aussi de ne pas compliquer trop les choses, nous
utiliserons un fichier unique dont nous connaissons le nom à l'avance.

 3-2 - Tâches à réaliser par notre package



                                                                     - 10 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Notre package d'exemple ne sera pas très compliqué. Il effectuera les actions suivantes :
•     Copier le fichier de log dans un dossier temporaire
•     Lire le contenu du fichier
•     Effectuer quelques opérations de transformation sur les données récupérées
•     Ecrire ces données dans la base


 3-3 - Stockage

Pour stocker les informations de notre fichier de log, nous utiliserons une table SQL Server 2005 dont voici le script
de création :

     CREATE TABLE [dbo].[logiis](
      [id] [int] IDENTITY(1,1) NOT NULL,
      [dateandtime] [datetime] NULL,
      [ipclient] [nvarchar](15) NULL,
      [username] [nvarchar](50) NULL,
      [sitename] [nvarchar](50) NULL,
      [computername] [nvarchar](50) NULL,
      [ipserver] [nvarchar](15) NULL,
      [portserver] [int] NULL,
      [cliservmethod] [nvarchar](5) NULL,
      [cliservuristem] [nvarchar](512) NULL,
      [cliservuriquery] [nvarchar](512) NULL,
      [servclistatus] [int] NULL,
      [servcliwinstatus] [int] NULL,
      [servclibytes] [int] NULL,
      [cliservbytes] [int] NULL,
      [timetaken] [int] NULL,
      [cliservversion] [nvarchar](50) NULL,
      [cliservhost] [nvarchar](512) NULL,
      [cliservuseragent] [nvarchar](512) NULL,
      [cliservcookie] [nvarchar](512) NULL,
      [cliservreferer] [nvarchar](512) NULL
     ) ON [PRIMARY]




                                                                     - 11 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




 4 - La copie du fichier

La première étape est donc la copie du fichier. Pour venir à bout de cette première tâche, nous allons logiquement
utiliser le panneau Control Flow. Dans la boîte à outils, vous verrez un composant nommé File System Task. Glissez-le
sur l'espace de travail.




Détaillons un peu ce composant. Tout d'abord, la petite croix blanche sur fond rouge, bien connue de tous, est
synonyme d'erreur. C'est normal, notre composant n'est pas configuré correctement (ici pas de source, ni de
destination). Elle disparaîtra une fois la paramétrisation effectuée. La petite flèche verte permet de relier le composant
à l'opération suivante. Si vous ouvrez le menu contextuel du composant et choisissez de l'éditer, vous obtenez l'écran
suivant :




                                                                     - 12 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




La section General vous permet de rendre le nom et la description du composant un peu plus explicite. Dans notre cas,
les propriétés qui nous intéressent réellement sont les autres. Tout d'abord, Operation. On peut effectuer différentes
opérations sur le système de fichier (copie de fichier, suppression, copie de dossier, création, #). Celle par défaut nous
convient ici très bien. Vient ensuite SourceConnection. Comme vous le constaterez tout au long de ce didacticiel,
SSIS travaille énormément avec ce qu'il appelle des connexions. Une connexion est un lien entre un support (base de
données, fichier, #) et le package SSIS. C'est elle qui fera " physiquement " les accès aux données : nous n'en avons


                                                                     - 13 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




pas à notre disposition, nous allons donc en créer une. Dépliez la liste qui apparaît pour la propriété SourceConnection
et choisissez l'option Nouvelle Connexion, l'écran suivant apparaît :




Ici, vous n'avez qu'à spécifier le fichier à utiliser. Pour information, le mien est le suivant :
C:WINDOWSsystem32LogfilesW3SVC1ex070526.log Il faut réaliser la même opération pour le fichier de
destination, avec une nouvelle connexion, sauf que cette fois-ci vous préciserez qu'il s'agit d'un dossier existant
et vous sélectionnerez le dossier de destination de la copie (pour moi c:temp). Pour l'option OverwriteDestination,
vous pouvez mettre True afin de ne pas être embêté par plusieurs exécutions du package. Si vous avez tout fait
correctement, le composant File System Task doit avoir l'état suivant :




La croix blanche sur fond blanc à disparu.

Pour vérifier, faîtes comme pour une application classique dans Visual Studio : F5 pour démarrer son exécution.

Le package est exécuté. La couleur du composant passe au jaune durant son exécution. Cela ne sera ps forcément
visible pour vous si le fichier est petit, et donc le traitement court. Si vous avez bien travaillé, elle doit ensuite passer au
vert une fois terminée pour indiquer que tout s'est bien déroulé. Sinon, vous obtiendrez un rectangle rouge synonyme
d'erreur.

Passons maintenant au gros du travail : l'analyse et l'insertion en base du fichier de log.




                                                                     - 14 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




 5 - Traitement du fichier de log

Le traitement du fichier de log se fera dans un composant particulier, que vous trouverez à côté du composant File
System Task dans la boite à outils : le Data Flow Task. Déposez-en un sur l'espace de travail du panneau Control
Flow :




Vous remarquerez sans doute que lui n'a pas le droit à la petite croix blanche. L'explication est simple : un composant
Data Flow Task est un container, un peu comme le panel en WinForms, donc s'il est vide, cela signifie qu'il n'y
a aucune action à réaliser. Pas très utile me direz-vous, mais cela ne constitue pas pour autant un manque de
configuration. Double cliquez dessus pour l'éditer. Visual Studio bascule automatiquement sur l'onglet Data Flow du
package. C'est la que nous allons spécifier les tâches que devra accomplir notre composant Data Flow Task. La
boîte à outils change, et laisse apparaître 3 catégories de composants :




•     Les sources
•     Les transformations
•     Les destinations

Je ne vais pas entrer dans les détails, mais dans Data Flow Sources et Data Flow Destination vous retrouverez les
composants permettant respectivement d'obtenir et de sauvegarder les données.

Dans transformations vous retrouverez les composants pour manipuler les données : conversions, fusion, #

Passons maintenant à la première étape, la lecture des données de notre fichier de log

 5-1 - Lecture du fichier de log

Comme je vous en ai déjà parlé pour la copie du fichier, SSIS travaille avec des connexions pour accéder aux supports
" physiques ". La première chose à faire est donc d'ajouter une connexion à notre fichier de log.

 5-1-1 - La connexion au fichier de log

Si vous jetez un oeil en bas du panneau Data Flow, vous verrez un espace nommé Connection Managers dans lequel
vous retrouverez les deux connections utilisées pour la copie du fichier de log :



                                                                     - 15 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Un petit clic droit laissera apparaître le menu suivant dans lequel vous choisirez New Flat File Connection# :




L'écran suivant apparaît dans lequel nous allons configurer notre connexion :




                                                                     - 16 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Je ne vais pas tout détailler, je pense que l'écran est assez clair pour que vous puissiez le remplir seul. Voici quand
même à quoi il doit ressembler :


                                                                     - 17 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Passez maintenant à la section Columns, c'est la que nous allons enfin voir le contenu de notre fichier de log en
le configurant comme suit :




                                                                     - 18 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Pour Column Delimiter, spécifiez bien un espace (désolé, c'est pas très visible sur la capture !).

Dans la section Advanced, il est possible de définir les options avancées des colonnes que nous venons de voir :




                                                                     - 19 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Il est donc possible de modifier chaque colonne, de lui donner un nom compréhensible - par la suite, vous verrez que
ça peut se révéler très utile - son type de sortie, très pratique. Voici à quoi cette section ressemble après configuration :




                                                                     - 20 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Pour la taille des colonnes de sortie, donnez la même taille que pour la taille du champ correspondant dans la table
de la base. Validez : notre connexion est prête. Il ne nous reste plus qu'à visualiser nos données dans le Data Flow.

 5-1-2 - Flat File Source



                                                                     - 21 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Maintenant que nous avons configuré notre connexion au fichier de log, il faut rendre accessible ces données au
package. C'est la qu'intervient le composant Flat File Source. Comme son nom l'indique, c'est une source de données.




Comme vous pouvez le constater, l'objet est en erreur. Si on y réfléchi deux secondes, c'est logique : son rôle est
de rendre accessible des données au reste des composants du Data Flow. Mais quelles données ? Comme il n'est
pas configuré, il ne sait pas lui-même où sont les données qu'il doit présenter. Un double clic sur le composant vous
permettra d'accéder à son écran de configuration :




                                                                     - 22 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 23 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




L'assistant détecte automatiquement la connexion appropriée au type de notre composant. Un composant Flat File
Source prend logiquement une connexion de type Flat File. Si vous regardez la section Columns de cet écran de
configuration, vous verrez qu'il intègre bien les colonnes définies dans la connexion :




                                                                     - 24 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 25 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Terminons la configuration, sans rien modifier, en cliquant sur OK.




Notre composant n'est plus en erreur. Passons à la suite.

 5-1-3 - Création de la colonne DateTime

Si vous avez été bien attentif, vous avez sans doute remarqué que pour les informations de date et d'heure, la
structure du fichier de log nous renvoie 2 colonnes et que la structure de notre table nous propose une unique colonne
de type DateTime.

Nous allons donc devoir transformer les informations fournies pas notre source afin de créer une nouvelle colonne
de type DateTime à partir de deux colonnes de type Texte.

L'opération est la suivante :

Concaténer " jj/mm/aaaa " et " hh :mm :ss " en une chaine " jj/mm/aaaa hh :mm :ss " et la convertir en date.

Rassurez-vous, rien de bien compliqué là-dedans.

Ce genre d'opération est réalisé par un composant de type Data Flow Transformation : Derived Column. Déposez
donc un composant Derived Column sur l'espace de travail.




Pour pouvoir créer une colonne à partir d'un autre, il faut bien sur qu'il sache les colonnes qu'il a à sa disposition.
Pour cela, nous allons relier notre composant Flat File Source à notre composant Derived Column.

Cette opération est très simple et valable pour tous les composants qu'utilise SSIS, aussi bien dans un Control Flow
que dans un Data Flow. Commencez par sélectionner le composant Flat File Source. Un flèche verte apparaît en
dessous, c'est celle la qui nous intéresse. Elle représente le flux de données. La rouge représente le flux d'erreur.
Nous ne nous en servirons pas ici. Pour connecter deux composants donc, il faut faire glisser la flèche verte du
composant source sur le composant de destination. Vous devriez obtenir quelque chose qui ressemble à ceci dans
notre cas :




                                                                     - 26 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Dans un Data Flow, cette flèche signifie que le composant d'où part la flèche fournit des données au composant pointé
par la flèche. Après ces quelques petites précisions, voyons maintenant comment créer notre date pour l'exploiter
par la suite. Double cliquez sur le composant Derived Column. L'écran de configuration suivant apparaît :




                                                                     - 27 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 28 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Il se divise en trois parties :
•     Les sources de données (nous mettrons de côté Variables qui dépassent le cadre de ce didacticiel)
•     Les opérations : mathématiques, sur les dates et ... oh ben tiens, de conversion
•     Les colonnes dérivées

Nous allons créer une colonne dérivée qui sera le résultat de Expression. Notez que vous pouvez créer plusieurs
colonnes dérivées en une seule fois.

Ici nous allons créer la colonne dérivée " dateandtime " qui sera le résultat de l'expression suivante "
(DT_DBTIMESTAMP)(DT_DATE)(date + " " + time) "

L'expression reprend la syntaxe du C#, on concatène les colonnes date et time avec un espace entre les deux, et on
converti successivement le résultat en type DT_DATE puis DT_DBTIMESTAMP.




                                                                     - 29 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 30 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Nous disposons maintenant d'une colonne supplémentaire dans nos données, appelée dateandtime et de type
DT_DBTIMESTAMP qui sera parfaite pour la colonne dateandtime de notre table en base.

Passons à la conversion des données.

 5-1-4 - Conversion des données

Pourquoi convertir les données ?

Si vous regardez bien la connexion au fichier de log, vous apercevrez une option Unicode, qui est décochée. Si
maintenant vous regardez bien la structure de notre table, vous verrez que les champs de type text sont de type
nvarchar, donc Unicode. Comme SSIS est assez pointilleux au niveau des types de données, nous allons devoir
convertir les données non Unicodes de notre fichier texte en données Unicodes pour pouvoir les insérer en base.
Mais encore une fois, SSIS nous propose un composant qui va se charger de réaliser la conversion pour nous, c'est
le composant Data Conversion qui intervient :




Comme pour le composant Derived Column, pour savoir ce qu'il peut convertir, nous devons lui fournir des données.
Nous allons donc relier la sortie de notre composant Derived Columns (flèche verte) à notre composant Data
Conversion :




Comme d'habitude, ouvrez l'éditeur du composant Data Conversion :



                                                                     - 31 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 32 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Toutes les colonnes qui seront affectées par cette conversion sont les colonnes de type texte. Sélectionnez-les dans
les colonnes Available Input Columns : elles apparaîtront dans la liste en dessous. Modifiez le Data Type en Unicode
String [DT_WSTR]. Faîtes bien attention que la longueur de la chaîne corresponde bien à la taille du champ dans la
table de la base. Une fois terminé, vous devriez obtenir ceci :




                                                                     - 33 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 34 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Terminez l'édition en validant.

Nous allons maintenant passer à l'insertion en base.

 5-2 - Ecriture en base

Comme nous utilisons une base SQL Server, nous utiliserons le composant SQL Server Destination. Vous pouvez
bien sur utiliser d'autres destinations, comme un fichier texte, ou un autre SGBD, mais ceci n'est pas notre cas de
figure actuel.




Le composant est en erreur. Normal, il ne sait pas oû il doit se connecter pour écrire. Qu'à cela ne tienne, on va
lui fournir une connexion. Mais avant, nous allons quand même lui fournir les colonnes de sortie du composant de
conversion :




                                                                     - 35 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




 5-2-1 - Une connexion à la base

Dans le Connexion Manager que nous avons vu tout à l'heure, ajoutez une nouvelle connexion ADO.Net.




L'assistant vous propose une liste des connexions disponibles. Si vous n'en avez pas, ce qui est sûrement le cas,
créez-en une nouvelle :




                                                                     - 36 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Validez le tout. Nous avons donc maintenant notre connexion à notre serveur SQL Server.

 5-2-2 - Liaison de nos données à la base

Maintenant que nous avons tout préparé, nous allons associer notre connexion à notre composant et vérifier que tout
est bon. Double cliquez sur le composant SQL Server Destination :



                                                                     - 37 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 38 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Si vous avez plusieurs connexions, choisissez celle qui correspond. Spécifiez ensuite la table de destination, ici logiis.
Nous allons maintenant mapper les colonnes fournies depuis le fichier avec les colonnes de la table :




                                                                     - 39 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 40 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




L'assistant est un minimum intelligent. Il associe par défaut les colonnes sources et les colonnes de destination ayant
le même nom. A nous de faire le reste.




                                                                     - 41 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 42 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Id n'est associé à aucune colonne source puisque c'est une colonne auto incrémentée. Attention aussi à bien utiliser
les colonnes résultant de la conversion de données et non pas celles d'origine, leur format n'est pas correct.

Une fois le mappage réalisé sur toutes les colonnes de destination # on va tenter d'exécuter notre Data Flow.

 5-3 - Première tentative d'exécution du Data Flow

Cette étape va nous permettre de faire une petite analyse de notre Data Flow et de voir si tout se déroule correctement.

Toujours dans le panneau de travail du Data Flow, ouvrez le menu contextuel du Data Flow et choisissez la commande
Execute Task.

Et là, drame. Erreur dès la première étape. Ne vous inquiétez pas, c'est normal. Quand je vous disais que SSIS était
pointilleux # Si vous regardez dans l'onglet Progress, vous obtiendrez une liste très détaillée de ce qu'à fait SSIS lors
de l'exécution du package et surtout les erreurs qu'il a rencontré :




                                                                     - 43 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Vous voyez qu'il y a quelques erreurs. Rien de dramatique, et surtout pas réellement une erreur.




                                                                     - 44 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Le souci est que lors de la lecture du fichier, SSIS suspecte un tronquage des données. Comme nous avons bien
étudié la question avant, nous savons que c'est peu probable. Nous allons donc forcer SSIS à passer outre cette
erreur. Editez le composant Flat File Source (double clic), et rendez-vous dans la section Error Output :




                                                                     - 45 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 46 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Cette section de configuration va spécifier le comportement du composant en cas d'erreur. Ici, vous voyez qu'en cas
de tentative de tronquage des données, SSIS considère que le composant est en erreur et que l'exécution ne peut
pas continuer. Nous allons donc dire à SSIS d'ignore l'erreur dans ce cas et pour toutes les colonnes :




                                                                     - 47 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 48 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Validez et retentez d'exécuter le Data Flow. Cette fois-ci une erreur lors de la création de la colonne dateandtime
dans le composant Derived Column. Même opération que pour le Flat File Source. Nous allons ignorer l'erreur.

Cette fois-ci, tout se passe bien :




Nous avons lu et écrit 472 lignes de log. Petite vérification des données dans la table :




                                                                     - 49 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 50 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Notre Data Flow est maintenant prêt, il ne nous reste plus qu'à terminer notre Control Flow.




                                                                     - 51 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




 6 - Dernier ajustement sur le Control Flow

Ce dernier ajustement dans le Control Flow consiste à ordonner d'exécution des tâches.

Rappelez-vous que nous devons d'abord copier le fichier avant de travailler dessus. C'est ce que nous allons faire. En
plus, maintenant que vous connaissez la petite flèche verte, ça va aller tout seul. Je ne vous explique pas comment
faire, je vous montre juste le résultat :




Lancez l'exécution du package comme une application standard (F5) :




Tout s'est bien déroulé, nous avons bien travaillé.




                                                                     - 52 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




 7 - Déploiement du package

 7-1 - Déploiement

Nous avons vu qu'il était possible d'exécuter le package depuis Visual Studio. C'est bien, mais ce n'est pas très
pratique de devoir lancer Visual Studio pour lancer notre traitement. Il nous faut donc maintenant déployer notre
package dans SQL Server.

Ne vous faites pas de soucis, c'est encore Visual Studio qui va travailler pour nous et va tout faire tout seul ou presque.

La première étape du déploiement est d'activer la création de l'utilitaire de déploiement du package. Allez dans les
propriétés du projet, onglet Deployment Utility :




Vous devez activer l'option CreateDeploymentUtility. Validez et regénérez le projet. Si vous vous rendez dans le
dossier de sortie du projet, vous devriez avoir quelque chose qui ressemble à cela :




                                                                     - 53 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Il y a bien notre package, IISLogImport.dtsx. Le deuxième est le Manifeste                                             de     déploiement,
IISStatistics.SSISDeploymentManifest. Ouvrez-le, un assistant de déploiement démarre.




                                                                     - 54 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Comme beaucoup d'assistants chez Microsoft, il y a une petite page d'accueil, passons.




                                                                     - 55 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




L'assistant nous propose deux modes d'installation pour notre package. Si vous regardez la description de chacun
des modes, vous comprendrez que pour notre exemple, le déploiement dans le système de fichier est bien suffisant.




                                                                     - 56 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Choisissez l'endroit où sera copié le package. L'emplacement par défaut ira très bien dans notre cas.




                                                                     - 57 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Petit confirmation avant l'installation, puis bouton Suivant.




                                                                     - 58 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Le déploiement s'est bien passé, nous avons fini. Vérifions maintenant notre travail.

 7-2 - Vérification du déploiement et exécution

Pour vérifier notre travail, lancez SQL Server Management Studio et connectez vous à Integration Services, pas au
serveur de base de données comme vous le faîte sans doute d'habitude :




                                                                     - 59 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Si vous développez l'arborescence du serveur, vous retrouverez bien notre package.




Nous allons maintenant l'exécuter:




                                                                     - 60 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Dans le menu contextuel du package, choisissez la commande Run Package.

L'assistant qui s'ouvre nous propose différentes options. Je ne détaillerai rien, les options par défaut sont correctes.
Nous allons nous contenter de lancer l'exécution du package. La fenêtre suivante s'ouvre et vous pouvez suivre
l'exécution du package :




                                                                     - 61 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




Vous pouvez voir que 472 lignes de log ont été écrites en base. Notre exécution s'est bien déroulée.




                                                                     - 62 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 63 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




 8 - Conclusion

Je ne vous ai montré ici que quelques-unes des nombreuses possibilités offertes par SSIS.

Comme vous avez pu le constater, la prise en main de ce puissant outil est relativement aisée et rapide. Les tâches
que vous pouvez automatiser peuvent aller de la plus simple à la plus complexe.

Il est même possible d'automatiser se traitement via les autres fonctionnalités de SQL Server, mais je garde ça pour
un prochain didacticiel.

 Remerciements

Merci à Fadace pour la correction ainsi qu'à toute l'équipe de developpez.com.




                                                                     - 64 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso)




                                                                     - 65 -
Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par
quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur.
                                         http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/

Contenu connexe

Tendances

SQL Server et la sécurité
SQL Server et la sécuritéSQL Server et la sécurité
SQL Server et la sécuritéDavid Barbarin
 
SQL Server 'code name Denali' - Stéphane Haby / Antonio De Santo, dbi service...
SQL Server 'code name Denali' - Stéphane Haby / Antonio De Santo, dbi service...SQL Server 'code name Denali' - Stéphane Haby / Antonio De Santo, dbi service...
SQL Server 'code name Denali' - Stéphane Haby / Antonio De Santo, dbi service...dbi services
 
Administration oracle7
Administration oracle7Administration oracle7
Administration oracle7Lucian Carabet
 
T2 corrections-qc md
T2 corrections-qc mdT2 corrections-qc md
T2 corrections-qc mdinfcom
 
Serveur Intranet sous Windows Server 2008
Serveur Intranet sous Windows Server 2008 Serveur Intranet sous Windows Server 2008
Serveur Intranet sous Windows Server 2008 Aicha OUALLA
 
2008-09-30 Présentation Générale SQL Server 2008
2008-09-30 Présentation Générale SQL Server 20082008-09-30 Présentation Générale SQL Server 2008
2008-09-30 Présentation Générale SQL Server 2008Patrick Guimonet
 
2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédiblePatrick Guimonet
 
Windows server 2012
Windows server 2012Windows server 2012
Windows server 2012Ndim43
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...Patrick Guimonet
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008Abdelouahed Abdou
 
Windows server-2008-r2-lessentiel HISOFT
Windows server-2008-r2-lessentiel HISOFTWindows server-2008-r2-lessentiel HISOFT
Windows server-2008-r2-lessentiel HISOFTgroupe_hisoft
 
Vue d'ensemble des nouveautés de System Center 2012 R2
Vue d'ensemble des nouveautés de System Center 2012 R2Vue d'ensemble des nouveautés de System Center 2012 R2
Vue d'ensemble des nouveautés de System Center 2012 R2Microsoft Technet France
 
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
Telecharger Cours Systèmes d’exploitation windows: Administration  WindowsTelecharger Cours Systèmes d’exploitation windows: Administration  Windows
Telecharger Cours Systèmes d’exploitation windows: Administration Windowswebreaker
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcminfcom
 
Sharepoint Summit Québec mise à niveau Sharepoint 2007 vers Sharepoint 2010
Sharepoint Summit Québec mise à niveau Sharepoint 2007 vers Sharepoint 2010Sharepoint Summit Québec mise à niveau Sharepoint 2007 vers Sharepoint 2010
Sharepoint Summit Québec mise à niveau Sharepoint 2007 vers Sharepoint 2010Mario Leblond
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Ayoub Rouzi
 
Projet de fin d etudes
Projet de fin d etudesProjet de fin d etudes
Projet de fin d etudes3azwa
 
Gestion des environnements hétérogènes avec System Center 2012
Gestion des environnements hétérogènes avec System Center 2012Gestion des environnements hétérogènes avec System Center 2012
Gestion des environnements hétérogènes avec System Center 2012Microsoft Technet France
 

Tendances (20)

SQL Server et la sécurité
SQL Server et la sécuritéSQL Server et la sécurité
SQL Server et la sécurité
 
SQL Server 'code name Denali' - Stéphane Haby / Antonio De Santo, dbi service...
SQL Server 'code name Denali' - Stéphane Haby / Antonio De Santo, dbi service...SQL Server 'code name Denali' - Stéphane Haby / Antonio De Santo, dbi service...
SQL Server 'code name Denali' - Stéphane Haby / Antonio De Santo, dbi service...
 
Administration oracle7
Administration oracle7Administration oracle7
Administration oracle7
 
T2 corrections-qc md
T2 corrections-qc mdT2 corrections-qc md
T2 corrections-qc md
 
Serveur Intranet sous Windows Server 2008
Serveur Intranet sous Windows Server 2008 Serveur Intranet sous Windows Server 2008
Serveur Intranet sous Windows Server 2008
 
2008-09-30 Présentation Générale SQL Server 2008
2008-09-30 Présentation Générale SQL Server 20082008-09-30 Présentation Générale SQL Server 2008
2008-09-30 Présentation Générale SQL Server 2008
 
2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible2009-03-13 SQL Server une plateforme crédible
2009-03-13 SQL Server une plateforme crédible
 
Windows server 2012
Windows server 2012Windows server 2012
Windows server 2012
 
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
2008-10-02 Paris - Administration des applications critiques avec SQL Server ...
 
Tp Sql Server Integration Services 2008
Tp  Sql Server Integration Services  2008Tp  Sql Server Integration Services  2008
Tp Sql Server Integration Services 2008
 
Windows server-2008-r2-lessentiel HISOFT
Windows server-2008-r2-lessentiel HISOFTWindows server-2008-r2-lessentiel HISOFT
Windows server-2008-r2-lessentiel HISOFT
 
Vue d'ensemble des nouveautés de System Center 2012 R2
Vue d'ensemble des nouveautés de System Center 2012 R2Vue d'ensemble des nouveautés de System Center 2012 R2
Vue d'ensemble des nouveautés de System Center 2012 R2
 
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
Telecharger Cours Systèmes d’exploitation windows: Administration  WindowsTelecharger Cours Systèmes d’exploitation windows: Administration  Windows
Telecharger Cours Systèmes d’exploitation windows: Administration Windows
 
T1 corrections-qcm
T1 corrections-qcmT1 corrections-qcm
T1 corrections-qcm
 
Sharepoint Summit Québec mise à niveau Sharepoint 2007 vers Sharepoint 2010
Sharepoint Summit Québec mise à niveau Sharepoint 2007 vers Sharepoint 2010Sharepoint Summit Québec mise à niveau Sharepoint 2007 vers Sharepoint 2010
Sharepoint Summit Québec mise à niveau Sharepoint 2007 vers Sharepoint 2010
 
Retour d'expérience sur PowerShell
Retour d'expérience sur PowerShellRetour d'expérience sur PowerShell
Retour d'expérience sur PowerShell
 
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
Rapport j2ee: Gestion d’un compte bancaire En utilisant les EJB 3.0
 
Projet de fin d etudes
Projet de fin d etudesProjet de fin d etudes
Projet de fin d etudes
 
Gestion des environnements hétérogènes avec System Center 2012
Gestion des environnements hétérogènes avec System Center 2012Gestion des environnements hétérogènes avec System Center 2012
Gestion des environnements hétérogènes avec System Center 2012
 
Document technique lamp linux
Document technique lamp linuxDocument technique lamp linux
Document technique lamp linux
 

En vedette

Liste des communes du Nord-Pas-de-Calais > à 4 μg/L de perchlorates dans l’eau
Liste des communes du Nord-Pas-de-Calais > à 4 μg/L de perchlorates dans l’eauListe des communes du Nord-Pas-de-Calais > à 4 μg/L de perchlorates dans l’eau
Liste des communes du Nord-Pas-de-Calais > à 4 μg/L de perchlorates dans l’eauJean-michel Neugate
 
Brochure Brandt Motors : solution de mobilité 100% électrique
Brochure Brandt Motors : solution de mobilité 100% électriqueBrochure Brandt Motors : solution de mobilité 100% électrique
Brochure Brandt Motors : solution de mobilité 100% électriqueBrandtMotors
 
Le guide des acteurs du brand content 2012 - SRI
Le guide des acteurs du brand content 2012 - SRILe guide des acteurs du brand content 2012 - SRI
Le guide des acteurs du brand content 2012 - SRIAd6 Media
 
Pablomatinez presentacio llum
Pablomatinez presentacio llumPablomatinez presentacio llum
Pablomatinez presentacio llumgandul_man
 
A la manière de...PAB
A la manière de...PABA la manière de...PAB
A la manière de...PABcdigrazailles
 
Tete et corps du fauve de bretagne
Tete et corps du fauve de bretagneTete et corps du fauve de bretagne
Tete et corps du fauve de bretagneSerge Cristofol
 
Ma francesca féodal seigneur
Ma francesca féodal seigneurMa francesca féodal seigneur
Ma francesca féodal seigneurFrancesca Savoini
 
Conf d'intro atout fr data tuesdays tourisme&transport
Conf d'intro   atout fr data tuesdays tourisme&transportConf d'intro   atout fr data tuesdays tourisme&transport
Conf d'intro atout fr data tuesdays tourisme&transportData Tuesday
 
Liquid nitrogen
Liquid nitrogenLiquid nitrogen
Liquid nitrogennkibwe
 
Présentation publique diagnostic de territoire alimentation durable cc paysde...
Présentation publique diagnostic de territoire alimentation durable cc paysde...Présentation publique diagnostic de territoire alimentation durable cc paysde...
Présentation publique diagnostic de territoire alimentation durable cc paysde...ANISetoile
 
Propuestas del Partido Popular para Riazor
Propuestas del Partido Popular para RiazorPropuestas del Partido Popular para Riazor
Propuestas del Partido Popular para RiazorCarlos Negreira
 
Power point aplicacion interactiva
Power point aplicacion interactivaPower point aplicacion interactiva
Power point aplicacion interactivaolgaberenice
 
Como reconocer un cambio qqqquímico qqq
Como reconocer un cambio qqqquímico qqqComo reconocer un cambio qqqquímico qqq
Como reconocer un cambio qqqquímico qqqmissalllllllllllllllll
 

En vedette (20)

Liste des communes du Nord-Pas-de-Calais > à 4 μg/L de perchlorates dans l’eau
Liste des communes du Nord-Pas-de-Calais > à 4 μg/L de perchlorates dans l’eauListe des communes du Nord-Pas-de-Calais > à 4 μg/L de perchlorates dans l’eau
Liste des communes du Nord-Pas-de-Calais > à 4 μg/L de perchlorates dans l’eau
 
Brochure Brandt Motors : solution de mobilité 100% électrique
Brochure Brandt Motors : solution de mobilité 100% électriqueBrochure Brandt Motors : solution de mobilité 100% électrique
Brochure Brandt Motors : solution de mobilité 100% électrique
 
Unidad 3 estudios tecnicos
Unidad 3 estudios tecnicosUnidad 3 estudios tecnicos
Unidad 3 estudios tecnicos
 
Le guide des acteurs du brand content 2012 - SRI
Le guide des acteurs du brand content 2012 - SRILe guide des acteurs du brand content 2012 - SRI
Le guide des acteurs du brand content 2012 - SRI
 
Pablomatinez presentacio llum
Pablomatinez presentacio llumPablomatinez presentacio llum
Pablomatinez presentacio llum
 
A la manière de...PAB
A la manière de...PABA la manière de...PAB
A la manière de...PAB
 
Tete et corps du fauve de bretagne
Tete et corps du fauve de bretagneTete et corps du fauve de bretagne
Tete et corps du fauve de bretagne
 
Ma francesca féodal seigneur
Ma francesca féodal seigneurMa francesca féodal seigneur
Ma francesca féodal seigneur
 
Conf d'intro atout fr data tuesdays tourisme&transport
Conf d'intro   atout fr data tuesdays tourisme&transportConf d'intro   atout fr data tuesdays tourisme&transport
Conf d'intro atout fr data tuesdays tourisme&transport
 
Liquid nitrogen
Liquid nitrogenLiquid nitrogen
Liquid nitrogen
 
Newton
NewtonNewton
Newton
 
Présentation publique diagnostic de territoire alimentation durable cc paysde...
Présentation publique diagnostic de territoire alimentation durable cc paysde...Présentation publique diagnostic de territoire alimentation durable cc paysde...
Présentation publique diagnostic de territoire alimentation durable cc paysde...
 
Propuestas del Partido Popular para Riazor
Propuestas del Partido Popular para RiazorPropuestas del Partido Popular para Riazor
Propuestas del Partido Popular para Riazor
 
Informe estadistico
Informe estadisticoInforme estadistico
Informe estadistico
 
Paisajes
PaisajesPaisajes
Paisajes
 
Maude abbott
Maude abbottMaude abbott
Maude abbott
 
Power point aplicacion interactiva
Power point aplicacion interactivaPower point aplicacion interactiva
Power point aplicacion interactiva
 
Como reconocer un cambio qqqquímico qqq
Como reconocer un cambio qqqquímico qqqComo reconocer un cambio qqqquímico qqq
Como reconocer un cambio qqqquímico qqq
 
Twiz fr
Twiz frTwiz fr
Twiz fr
 
Lavoisier 4
Lavoisier 4Lavoisier 4
Lavoisier 4
 

Similaire à Introssis

UGIF 12 2010 - informix - user group - optim dev studio 2.2.1
UGIF 12 2010 - informix - user group  - optim dev studio 2.2.1UGIF 12 2010 - informix - user group  - optim dev studio 2.2.1
UGIF 12 2010 - informix - user group - optim dev studio 2.2.1UGIF
 
Informix User Group France - 30/11/2010 - Optim Development Studio
Informix User Group France - 30/11/2010 - Optim Development StudioInformix User Group France - 30/11/2010 - Optim Development Studio
Informix User Group France - 30/11/2010 - Optim Development StudioNicolas Desachy
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSyrine Ben aziza
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimLaurent Broudoux
 
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Publicis Sapient Engineering
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Frédéric Queudret
 
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...Microsoft Technet France
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-onsahar dridi
 
The Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingThe Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingFrançois Le Droff
 
Introduction à TeamCity
Introduction à TeamCityIntroduction à TeamCity
Introduction à TeamCityUlrich VACHON
 
Comment automatiser les commandes PowerShell pour optimiser la performance d'...
Comment automatiser les commandes PowerShell pour optimiser la performance d'...Comment automatiser les commandes PowerShell pour optimiser la performance d'...
Comment automatiser les commandes PowerShell pour optimiser la performance d'...Microsoft Décideurs IT
 
Presentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPresentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPriscilleGANKIA
 
Développez des applications de base de données de façon plus efficace avec SQ...
Développez des applications de base de données de façon plus efficace avec SQ...Développez des applications de base de données de façon plus efficace avec SQ...
Développez des applications de base de données de façon plus efficace avec SQ...Microsoft
 
JSF2, Primefaces, Primefaces Mobile
JSF2, Primefaces, Primefaces MobileJSF2, Primefaces, Primefaces Mobile
JSF2, Primefaces, Primefaces MobileSylla Mamoudou
 
JUG Nantes - Telosys Tools - Avril 2014
JUG Nantes - Telosys Tools - Avril 2014 JUG Nantes - Telosys Tools - Avril 2014
JUG Nantes - Telosys Tools - Avril 2014 telosys
 
Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Laurent Guérin
 

Similaire à Introssis (20)

UGIF 12 2010 - informix - user group - optim dev studio 2.2.1
UGIF 12 2010 - informix - user group  - optim dev studio 2.2.1UGIF 12 2010 - informix - user group  - optim dev studio 2.2.1
UGIF 12 2010 - informix - user group - optim dev studio 2.2.1
 
Informix User Group France - 30/11/2010 - Optim Development Studio
Informix User Group France - 30/11/2010 - Optim Development StudioInformix User Group France - 30/11/2010 - Optim Development Studio
Informix User Group France - 30/11/2010 - Optim Development Studio
 
Spring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrineSpring boot anane maryem ben aziza syrine
Spring boot anane maryem ben aziza syrine
 
Rex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - EnsimRex Software Factories 20140117 - Ensim
Rex Software Factories 20140117 - Ensim
 
Base donnes my_sql
Base donnes my_sqlBase donnes my_sql
Base donnes my_sql
 
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
Open XKE - Introduire le Continuous Delivery dans votre entreprise par Jean-L...
 
Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009Silverlight 3.MSDays EPITA 11/06/2009
Silverlight 3.MSDays EPITA 11/06/2009
 
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...
Nouvelles fonctionnalités MS SQL Server 2012 - Mise à jour MS SQL Server 200x...
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
 
The Spring of Adobe Flex Remoting
The Spring of Adobe Flex RemotingThe Spring of Adobe Flex Remoting
The Spring of Adobe Flex Remoting
 
TFS
TFSTFS
TFS
 
Etude des Frameworks PHP
Etude des Frameworks PHPEtude des Frameworks PHP
Etude des Frameworks PHP
 
Introduction à TeamCity
Introduction à TeamCityIntroduction à TeamCity
Introduction à TeamCity
 
Comment automatiser les commandes PowerShell pour optimiser la performance d'...
Comment automatiser les commandes PowerShell pour optimiser la performance d'...Comment automatiser les commandes PowerShell pour optimiser la performance d'...
Comment automatiser les commandes PowerShell pour optimiser la performance d'...
 
Presentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptxPresentation du SGBD Oracle DATABASE.pptx
Presentation du SGBD Oracle DATABASE.pptx
 
Développez des applications de base de données de façon plus efficace avec SQ...
Développez des applications de base de données de façon plus efficace avec SQ...Développez des applications de base de données de façon plus efficace avec SQ...
Développez des applications de base de données de façon plus efficace avec SQ...
 
JSF2, Primefaces, Primefaces Mobile
JSF2, Primefaces, Primefaces MobileJSF2, Primefaces, Primefaces Mobile
JSF2, Primefaces, Primefaces Mobile
 
JUG Nantes - Telosys Tools - Avril 2014
JUG Nantes - Telosys Tools - Avril 2014 JUG Nantes - Telosys Tools - Avril 2014
JUG Nantes - Telosys Tools - Avril 2014
 
Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2Telosys tools jug-nantes-2014-v1.2
Telosys tools jug-nantes-2014-v1.2
 
CVMourad2
CVMourad2CVMourad2
CVMourad2
 

Introssis

  • 1. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Date de publication : 07/06/2007 Dernière mise à jour : 07/06/2007 Plus connu avant sous le nom de Data Transformation Services (DTS), SSIS est la nouvelle version ce cet outil de SQL Server apparu avec la version 2005 du SGBD de Microsoft. Nous allons essayer de découvrir ensemble ce que peut nous apporter SSIS.
  • 2. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) 1 - Présentation générale 2 - Comment travailler avec SSIS ? 2-1 - ControlFlow 2-2 - DataFlow 2-3 - Event Handlers 2-4 - Package Explorer 3 - Présentation de l'exemple 3-1 - Structure d'un fichier de log de IIS 3-2 - Tâches à réaliser par notre package 3-3 - Stockage 4 - La copie du fichier 5 - Traitement du fichier de log 5-1 - Lecture du fichier de log 5-1-1 - La connexion au fichier de log 5-1-2 - Flat File Source 5-1-3 - Création de la colonne DateTime 5-1-4 - Conversion des données 5-2 - Ecriture en base 5-2-1 - Une connexion à la base 5-2-2 - Liaison de nos données à la base 5-3 - Première tentative d'exécution du Data Flow 6 - Dernier ajustement sur le Control Flow 7 - Déploiement du package 7-1 - Déploiement 7-2 - Vérification du déploiement et exécution 8 - Conclusion Remerciements -2- Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 3. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) 1 - Présentation générale Tout d'abord, pour pouvoir disposer de SSIS, vous devez utiliser SQL Server 2005 Standard ou Entreprise Edition (Developper Edition aussi, mais pour le développement). Les versions Express et autres Standard et Workgroup Edition ne sont malheureusement pas dotées de cette fonctionnalité. Seules les versions Entreprise et Developper proposent toutes les fonctionnalités de SSIS. Reportez-vous à ces pages pour plus de détails sur les possibilités offertes par chaque version : • http://msdn2.microsoft.com/en-us/library/ms143761.aspx • http://fadace.developpez.com/mssql/licences2005/ Maintenant que nous avons vu quelles versions permettent d'exploiter SSIS, voyons maintenant à quoi peut servir cette nouvelle fonctionnalité. En résumé, SSIS vous permet de transformer vos donner, de les importer ou de les exporter vers ou depuis SQL Server ou/et d'autes sources/cibles de données. Prenons un exemple concret. Vous avez un serveur Web - au hasard Internet Information Service (IIS) - et vous voulez pouvoir obtenir des statistiques de son utilisation. Si vous connaissez un peu IIS, vous savez sans doute qu'il ne permet de ne générer qu'un fichier de log au format texte. Exemple de fichier de log IIS #Software: Microsoft Internet Information Services 5.1 #Version: 1.0 #Date: 2007-05-21 17:03:20 #Fields: time c-ip cs-method cs-uri-stem sc-status 17:03:20 127.0.0.1 GET /EspacePerso/~/images/baniereperso.png 404 17:06:52 127.0.0.1 GET /EspacePerso/net/test/Default.aspx 404 17:08:07 127.0.0.1 DEBUG /EspacePerso/ViewArticle.aspx 401 17:08:13 127.0.0.1 DEBUG /EspacePerso/ViewArticle.aspx 200 17:08:17 127.0.0.1 GET /EspacePerso/ViewArticle.aspx 200 Pour réaliser des statistiques, avec Sql Server Reporting Services par exemple, ce n'est pas ce qu'il y a de plus aisé. La solution est de transformer ce fichier de log et d'en intégrer les données dans une base de données. C'est là que SSIS intervient : il est capable de traiter se fichier de log et d'en transformer le contenu pour l'intégrer dans une base. Figure 1:Processus de traitement des fichiers de log IIS Ce que va faire SSIS, c'est ouvrir le fichier de log, le découper comme il faut, et l'insérer dans une ou plusieurs tables d'une base. Nous nous servirons de cet exemple pour mieux comprendre comment SSIS fonctionne. -3- Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 4. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) 2 - Comment travailler avec SSIS ? Comme pour tout ce qui touche au développement pour SQL Server, c'est Visual Studio qui sera utilisé. Figure 2:Intégration de SSIS à Visual Studio Pour travailler avec SSIS, il vous faut créer un projet Integration Services Project classé dans la catégorie Business Intelligence Projects. -4- Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 5. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Figure 3:Création du projet SSIS Tout d'abord, que contient le projet ? -5- Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 6. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Figure 4:Apperçu du Solution Explorer A sa création, le projet ne contient qu'un package : Package.dtsx. Un package est, en quelque sorte, un script pour SSIS. Il contient une liste d'actions à effectuer par SSIS. Les actions disponibles se situent au niveau de la Toolbox : -6- Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 7. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Figure 5:Toolbox de Visual Studio pour un package Si vous regardez toute la liste, vous verrez que les possibilités offertes par SSIS sont déjà très nombreuses. Je ne vais pas les détailler toutes, la liste serait beaucoup trop longue. Je me limiterai à celles que nous utiliserons. Enfin, le dernier élément, l'espace d'édition du package : -7- Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 8. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Figure 6:Espace de travail d'un Package Il se divise en 4 parties : • ControlFlow • DataFlow • Event Handlers • Package Explorer 2-1 - ControlFlow Comme tout programme ou script, un package SSIS doit suivre une certaine logique de fonctionnement. Le package doit avoir un début et une fin, exécuter des tâches dans un ordre bien particulier (lire les données avant de les traiter par exemple, ça peut aider). C'est donc dans le ControlFlow que nous allons décrire les différentes tâches d'un package. Il est possible de ne pas attribuer un ordre précis à tous les travaux, mais il est quand même bon de garder une certaine logique. 2-2 - DataFlow Le DataFlow est comme le ControlFlow, mais il est dédié aux données. Typiquement, dans un DataFlow, nous retrouverons, dans cet ordre, des étapes de lecture, de modification et enfin d'écriture des données. Je ne vous en dis pas plus, nous verrons cela plus en détail plus loin. 2-3 - Event Handlers Il est possible de gérer des évènements qui peuvent survenir dans les différents composants qui constituent un package SSIS et d'effectuer des actions en fonction de leur nature. C'est via le panneau Event Handlers que nous gèrerons ces évènements. 2-4 - Package Explorer Le Package Explorer est comme le Solution Explorer. Il décrit, sous forme d'arborescence, tous les éléments qui constituent le package et nous permet d'accéder en quelques clics à tous les éléments du package et à leurs propriétés. -8- Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 9. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) 3 - Présentation de l'exemple Comme je vous l'ai dit plus haut, nous allons automatiser l'analyse des fichiers de log de IIS (seulement la partie serveur http, ce sera largement suffisant). 3-1 - Structure d'un fichier de log de IIS Voici un fichier extrait de fichier de log IIS, le tout début pour être exact. Extrait d'un fichier de log IIS (les lignes sont coupées pour plus de visibilité) #Software: Microsoft Internet Information Services 5.1 #Version: 1.0 #Date: 2007-05-27 07:38:39 #Fields: date time c-ip cs-username s-sitename s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status sc-win32-status sc-bytes cs-bytes time-taken cs-version cs-host cs(User-Agent) cs(Cookie) cs(Referer) 2007-05-27 07:38:39 127.0.0.1 - W3SVC1 DTCBPXP 127.0.0.1 80 GET /EspacePerso/~/images/baniereperso.png - 404 3 4383 305 300 HTTP/1.1 localhost Mozilla/4.0+(compatible;+MSIE+7.0;+Windows+NT+5.1;+.NET+CLR+1.1.4322; +.NET+CLR+2.0.50727;+.NET+CLR+3.0.04506.30) - - 2007-05-27 07:40:26 127.0.0.1 - W3SVC1 DTCBPXP 127.0.0.1 80 DEBUG /EspacePerso/DebugAttach.aspx - 401 0 351 406 3675 HTTP/1.1 localhost - - - Ce petit exemple va nous servir à comprendre sa structure. Tout d'abord, vous remarquerez les 4 premières lignes qui sont un peu particulières. Elles sont ici à titre d'information. La première ligne nous donne des informations sur la version de IIS que nous utilisons. Je suis sous Windows XP, j'ai donc IIS 5.1. La deuxième ligne nous renseigne sur la version # de quoi je ne sais pas, mais de toute façon, elle ne nous intéresse pas ici. La troisième ligne nous retourne la date et l'heure de création du fichier. Elle n'a pas une grande utilité pour le traitement qui nous intéresse. La quatrième ligne, contrairement aux 3 précédentes, est une source d'information vitale pour le travail que nous allons réaliser. Elle contient en effet une description de la formation des lignes de log. Une ligne de log à proprement parler contient toutes les valeurs que nous souhaitons tracer séparées par des espaces. IIS nous offre la possibilité, via la console d'administration, de choisir les informations sur l'activité du serveur Web que nous souhaitons conserver. -9- Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 10. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Figure 7:Options du fichier de log de IIS Comme vous pouvez le constater, ces informations sont très complètes. Dans notre exemple, elles seront toutes utilisées. Revenons sur la 4ème ligne. Pourquoi cette ligne est-elle si importante ? Comme vous l'aurez sans doute compris, il est possible que le log de l'activité de IIS ne nous renvoie pas toujours les mêmes informations, selon les besoins de l'administrateur. Il est donc important de savoir ce que nous allons récupérer comme information. Il faut savoir aussi que cette section de 4 lignes d'en-têtes peut se répéter plusieurs fois dans un même fichier (changements de configuration, redémarrage). Donc, à la suite de ces 4 lignes, nous récupérons les lignes de données qui nous intéressent réellement. Dans ce didacticiel, je ferai comme si la structure du fichier de log n'était pas modifiable et qu'il n'y avait qu'une seule section d'en-tête par fichier afin de ne pas rentrer dans les détails. Afin aussi de ne pas compliquer trop les choses, nous utiliserons un fichier unique dont nous connaissons le nom à l'avance. 3-2 - Tâches à réaliser par notre package - 10 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 11. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Notre package d'exemple ne sera pas très compliqué. Il effectuera les actions suivantes : • Copier le fichier de log dans un dossier temporaire • Lire le contenu du fichier • Effectuer quelques opérations de transformation sur les données récupérées • Ecrire ces données dans la base 3-3 - Stockage Pour stocker les informations de notre fichier de log, nous utiliserons une table SQL Server 2005 dont voici le script de création : CREATE TABLE [dbo].[logiis]( [id] [int] IDENTITY(1,1) NOT NULL, [dateandtime] [datetime] NULL, [ipclient] [nvarchar](15) NULL, [username] [nvarchar](50) NULL, [sitename] [nvarchar](50) NULL, [computername] [nvarchar](50) NULL, [ipserver] [nvarchar](15) NULL, [portserver] [int] NULL, [cliservmethod] [nvarchar](5) NULL, [cliservuristem] [nvarchar](512) NULL, [cliservuriquery] [nvarchar](512) NULL, [servclistatus] [int] NULL, [servcliwinstatus] [int] NULL, [servclibytes] [int] NULL, [cliservbytes] [int] NULL, [timetaken] [int] NULL, [cliservversion] [nvarchar](50) NULL, [cliservhost] [nvarchar](512) NULL, [cliservuseragent] [nvarchar](512) NULL, [cliservcookie] [nvarchar](512) NULL, [cliservreferer] [nvarchar](512) NULL ) ON [PRIMARY] - 11 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 12. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) 4 - La copie du fichier La première étape est donc la copie du fichier. Pour venir à bout de cette première tâche, nous allons logiquement utiliser le panneau Control Flow. Dans la boîte à outils, vous verrez un composant nommé File System Task. Glissez-le sur l'espace de travail. Détaillons un peu ce composant. Tout d'abord, la petite croix blanche sur fond rouge, bien connue de tous, est synonyme d'erreur. C'est normal, notre composant n'est pas configuré correctement (ici pas de source, ni de destination). Elle disparaîtra une fois la paramétrisation effectuée. La petite flèche verte permet de relier le composant à l'opération suivante. Si vous ouvrez le menu contextuel du composant et choisissez de l'éditer, vous obtenez l'écran suivant : - 12 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 13. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) La section General vous permet de rendre le nom et la description du composant un peu plus explicite. Dans notre cas, les propriétés qui nous intéressent réellement sont les autres. Tout d'abord, Operation. On peut effectuer différentes opérations sur le système de fichier (copie de fichier, suppression, copie de dossier, création, #). Celle par défaut nous convient ici très bien. Vient ensuite SourceConnection. Comme vous le constaterez tout au long de ce didacticiel, SSIS travaille énormément avec ce qu'il appelle des connexions. Une connexion est un lien entre un support (base de données, fichier, #) et le package SSIS. C'est elle qui fera " physiquement " les accès aux données : nous n'en avons - 13 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 14. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) pas à notre disposition, nous allons donc en créer une. Dépliez la liste qui apparaît pour la propriété SourceConnection et choisissez l'option Nouvelle Connexion, l'écran suivant apparaît : Ici, vous n'avez qu'à spécifier le fichier à utiliser. Pour information, le mien est le suivant : C:WINDOWSsystem32LogfilesW3SVC1ex070526.log Il faut réaliser la même opération pour le fichier de destination, avec une nouvelle connexion, sauf que cette fois-ci vous préciserez qu'il s'agit d'un dossier existant et vous sélectionnerez le dossier de destination de la copie (pour moi c:temp). Pour l'option OverwriteDestination, vous pouvez mettre True afin de ne pas être embêté par plusieurs exécutions du package. Si vous avez tout fait correctement, le composant File System Task doit avoir l'état suivant : La croix blanche sur fond blanc à disparu. Pour vérifier, faîtes comme pour une application classique dans Visual Studio : F5 pour démarrer son exécution. Le package est exécuté. La couleur du composant passe au jaune durant son exécution. Cela ne sera ps forcément visible pour vous si le fichier est petit, et donc le traitement court. Si vous avez bien travaillé, elle doit ensuite passer au vert une fois terminée pour indiquer que tout s'est bien déroulé. Sinon, vous obtiendrez un rectangle rouge synonyme d'erreur. Passons maintenant au gros du travail : l'analyse et l'insertion en base du fichier de log. - 14 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 15. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) 5 - Traitement du fichier de log Le traitement du fichier de log se fera dans un composant particulier, que vous trouverez à côté du composant File System Task dans la boite à outils : le Data Flow Task. Déposez-en un sur l'espace de travail du panneau Control Flow : Vous remarquerez sans doute que lui n'a pas le droit à la petite croix blanche. L'explication est simple : un composant Data Flow Task est un container, un peu comme le panel en WinForms, donc s'il est vide, cela signifie qu'il n'y a aucune action à réaliser. Pas très utile me direz-vous, mais cela ne constitue pas pour autant un manque de configuration. Double cliquez dessus pour l'éditer. Visual Studio bascule automatiquement sur l'onglet Data Flow du package. C'est la que nous allons spécifier les tâches que devra accomplir notre composant Data Flow Task. La boîte à outils change, et laisse apparaître 3 catégories de composants : • Les sources • Les transformations • Les destinations Je ne vais pas entrer dans les détails, mais dans Data Flow Sources et Data Flow Destination vous retrouverez les composants permettant respectivement d'obtenir et de sauvegarder les données. Dans transformations vous retrouverez les composants pour manipuler les données : conversions, fusion, # Passons maintenant à la première étape, la lecture des données de notre fichier de log 5-1 - Lecture du fichier de log Comme je vous en ai déjà parlé pour la copie du fichier, SSIS travaille avec des connexions pour accéder aux supports " physiques ". La première chose à faire est donc d'ajouter une connexion à notre fichier de log. 5-1-1 - La connexion au fichier de log Si vous jetez un oeil en bas du panneau Data Flow, vous verrez un espace nommé Connection Managers dans lequel vous retrouverez les deux connections utilisées pour la copie du fichier de log : - 15 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 16. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Un petit clic droit laissera apparaître le menu suivant dans lequel vous choisirez New Flat File Connection# : L'écran suivant apparaît dans lequel nous allons configurer notre connexion : - 16 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 17. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Je ne vais pas tout détailler, je pense que l'écran est assez clair pour que vous puissiez le remplir seul. Voici quand même à quoi il doit ressembler : - 17 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 18. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Passez maintenant à la section Columns, c'est la que nous allons enfin voir le contenu de notre fichier de log en le configurant comme suit : - 18 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 19. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Pour Column Delimiter, spécifiez bien un espace (désolé, c'est pas très visible sur la capture !). Dans la section Advanced, il est possible de définir les options avancées des colonnes que nous venons de voir : - 19 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 20. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Il est donc possible de modifier chaque colonne, de lui donner un nom compréhensible - par la suite, vous verrez que ça peut se révéler très utile - son type de sortie, très pratique. Voici à quoi cette section ressemble après configuration : - 20 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 21. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Pour la taille des colonnes de sortie, donnez la même taille que pour la taille du champ correspondant dans la table de la base. Validez : notre connexion est prête. Il ne nous reste plus qu'à visualiser nos données dans le Data Flow. 5-1-2 - Flat File Source - 21 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 22. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Maintenant que nous avons configuré notre connexion au fichier de log, il faut rendre accessible ces données au package. C'est la qu'intervient le composant Flat File Source. Comme son nom l'indique, c'est une source de données. Comme vous pouvez le constater, l'objet est en erreur. Si on y réfléchi deux secondes, c'est logique : son rôle est de rendre accessible des données au reste des composants du Data Flow. Mais quelles données ? Comme il n'est pas configuré, il ne sait pas lui-même où sont les données qu'il doit présenter. Un double clic sur le composant vous permettra d'accéder à son écran de configuration : - 22 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 23. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 23 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 24. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) L'assistant détecte automatiquement la connexion appropriée au type de notre composant. Un composant Flat File Source prend logiquement une connexion de type Flat File. Si vous regardez la section Columns de cet écran de configuration, vous verrez qu'il intègre bien les colonnes définies dans la connexion : - 24 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 25. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 25 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 26. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Terminons la configuration, sans rien modifier, en cliquant sur OK. Notre composant n'est plus en erreur. Passons à la suite. 5-1-3 - Création de la colonne DateTime Si vous avez été bien attentif, vous avez sans doute remarqué que pour les informations de date et d'heure, la structure du fichier de log nous renvoie 2 colonnes et que la structure de notre table nous propose une unique colonne de type DateTime. Nous allons donc devoir transformer les informations fournies pas notre source afin de créer une nouvelle colonne de type DateTime à partir de deux colonnes de type Texte. L'opération est la suivante : Concaténer " jj/mm/aaaa " et " hh :mm :ss " en une chaine " jj/mm/aaaa hh :mm :ss " et la convertir en date. Rassurez-vous, rien de bien compliqué là-dedans. Ce genre d'opération est réalisé par un composant de type Data Flow Transformation : Derived Column. Déposez donc un composant Derived Column sur l'espace de travail. Pour pouvoir créer une colonne à partir d'un autre, il faut bien sur qu'il sache les colonnes qu'il a à sa disposition. Pour cela, nous allons relier notre composant Flat File Source à notre composant Derived Column. Cette opération est très simple et valable pour tous les composants qu'utilise SSIS, aussi bien dans un Control Flow que dans un Data Flow. Commencez par sélectionner le composant Flat File Source. Un flèche verte apparaît en dessous, c'est celle la qui nous intéresse. Elle représente le flux de données. La rouge représente le flux d'erreur. Nous ne nous en servirons pas ici. Pour connecter deux composants donc, il faut faire glisser la flèche verte du composant source sur le composant de destination. Vous devriez obtenir quelque chose qui ressemble à ceci dans notre cas : - 26 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 27. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Dans un Data Flow, cette flèche signifie que le composant d'où part la flèche fournit des données au composant pointé par la flèche. Après ces quelques petites précisions, voyons maintenant comment créer notre date pour l'exploiter par la suite. Double cliquez sur le composant Derived Column. L'écran de configuration suivant apparaît : - 27 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 28. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 28 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 29. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Il se divise en trois parties : • Les sources de données (nous mettrons de côté Variables qui dépassent le cadre de ce didacticiel) • Les opérations : mathématiques, sur les dates et ... oh ben tiens, de conversion • Les colonnes dérivées Nous allons créer une colonne dérivée qui sera le résultat de Expression. Notez que vous pouvez créer plusieurs colonnes dérivées en une seule fois. Ici nous allons créer la colonne dérivée " dateandtime " qui sera le résultat de l'expression suivante " (DT_DBTIMESTAMP)(DT_DATE)(date + " " + time) " L'expression reprend la syntaxe du C#, on concatène les colonnes date et time avec un espace entre les deux, et on converti successivement le résultat en type DT_DATE puis DT_DBTIMESTAMP. - 29 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 30. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 30 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 31. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Nous disposons maintenant d'une colonne supplémentaire dans nos données, appelée dateandtime et de type DT_DBTIMESTAMP qui sera parfaite pour la colonne dateandtime de notre table en base. Passons à la conversion des données. 5-1-4 - Conversion des données Pourquoi convertir les données ? Si vous regardez bien la connexion au fichier de log, vous apercevrez une option Unicode, qui est décochée. Si maintenant vous regardez bien la structure de notre table, vous verrez que les champs de type text sont de type nvarchar, donc Unicode. Comme SSIS est assez pointilleux au niveau des types de données, nous allons devoir convertir les données non Unicodes de notre fichier texte en données Unicodes pour pouvoir les insérer en base. Mais encore une fois, SSIS nous propose un composant qui va se charger de réaliser la conversion pour nous, c'est le composant Data Conversion qui intervient : Comme pour le composant Derived Column, pour savoir ce qu'il peut convertir, nous devons lui fournir des données. Nous allons donc relier la sortie de notre composant Derived Columns (flèche verte) à notre composant Data Conversion : Comme d'habitude, ouvrez l'éditeur du composant Data Conversion : - 31 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 32. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 32 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 33. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Toutes les colonnes qui seront affectées par cette conversion sont les colonnes de type texte. Sélectionnez-les dans les colonnes Available Input Columns : elles apparaîtront dans la liste en dessous. Modifiez le Data Type en Unicode String [DT_WSTR]. Faîtes bien attention que la longueur de la chaîne corresponde bien à la taille du champ dans la table de la base. Une fois terminé, vous devriez obtenir ceci : - 33 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 34. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 34 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 35. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Terminez l'édition en validant. Nous allons maintenant passer à l'insertion en base. 5-2 - Ecriture en base Comme nous utilisons une base SQL Server, nous utiliserons le composant SQL Server Destination. Vous pouvez bien sur utiliser d'autres destinations, comme un fichier texte, ou un autre SGBD, mais ceci n'est pas notre cas de figure actuel. Le composant est en erreur. Normal, il ne sait pas oû il doit se connecter pour écrire. Qu'à cela ne tienne, on va lui fournir une connexion. Mais avant, nous allons quand même lui fournir les colonnes de sortie du composant de conversion : - 35 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 36. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) 5-2-1 - Une connexion à la base Dans le Connexion Manager que nous avons vu tout à l'heure, ajoutez une nouvelle connexion ADO.Net. L'assistant vous propose une liste des connexions disponibles. Si vous n'en avez pas, ce qui est sûrement le cas, créez-en une nouvelle : - 36 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 37. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Validez le tout. Nous avons donc maintenant notre connexion à notre serveur SQL Server. 5-2-2 - Liaison de nos données à la base Maintenant que nous avons tout préparé, nous allons associer notre connexion à notre composant et vérifier que tout est bon. Double cliquez sur le composant SQL Server Destination : - 37 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 38. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 38 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 39. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Si vous avez plusieurs connexions, choisissez celle qui correspond. Spécifiez ensuite la table de destination, ici logiis. Nous allons maintenant mapper les colonnes fournies depuis le fichier avec les colonnes de la table : - 39 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 40. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 40 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 41. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) L'assistant est un minimum intelligent. Il associe par défaut les colonnes sources et les colonnes de destination ayant le même nom. A nous de faire le reste. - 41 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 42. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 42 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 43. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Id n'est associé à aucune colonne source puisque c'est une colonne auto incrémentée. Attention aussi à bien utiliser les colonnes résultant de la conversion de données et non pas celles d'origine, leur format n'est pas correct. Une fois le mappage réalisé sur toutes les colonnes de destination # on va tenter d'exécuter notre Data Flow. 5-3 - Première tentative d'exécution du Data Flow Cette étape va nous permettre de faire une petite analyse de notre Data Flow et de voir si tout se déroule correctement. Toujours dans le panneau de travail du Data Flow, ouvrez le menu contextuel du Data Flow et choisissez la commande Execute Task. Et là, drame. Erreur dès la première étape. Ne vous inquiétez pas, c'est normal. Quand je vous disais que SSIS était pointilleux # Si vous regardez dans l'onglet Progress, vous obtiendrez une liste très détaillée de ce qu'à fait SSIS lors de l'exécution du package et surtout les erreurs qu'il a rencontré : - 43 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 44. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Vous voyez qu'il y a quelques erreurs. Rien de dramatique, et surtout pas réellement une erreur. - 44 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 45. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Le souci est que lors de la lecture du fichier, SSIS suspecte un tronquage des données. Comme nous avons bien étudié la question avant, nous savons que c'est peu probable. Nous allons donc forcer SSIS à passer outre cette erreur. Editez le composant Flat File Source (double clic), et rendez-vous dans la section Error Output : - 45 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 46. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 46 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 47. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Cette section de configuration va spécifier le comportement du composant en cas d'erreur. Ici, vous voyez qu'en cas de tentative de tronquage des données, SSIS considère que le composant est en erreur et que l'exécution ne peut pas continuer. Nous allons donc dire à SSIS d'ignore l'erreur dans ce cas et pour toutes les colonnes : - 47 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 48. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 48 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 49. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Validez et retentez d'exécuter le Data Flow. Cette fois-ci une erreur lors de la création de la colonne dateandtime dans le composant Derived Column. Même opération que pour le Flat File Source. Nous allons ignorer l'erreur. Cette fois-ci, tout se passe bien : Nous avons lu et écrit 472 lignes de log. Petite vérification des données dans la table : - 49 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 50. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 50 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 51. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Notre Data Flow est maintenant prêt, il ne nous reste plus qu'à terminer notre Control Flow. - 51 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 52. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) 6 - Dernier ajustement sur le Control Flow Ce dernier ajustement dans le Control Flow consiste à ordonner d'exécution des tâches. Rappelez-vous que nous devons d'abord copier le fichier avant de travailler dessus. C'est ce que nous allons faire. En plus, maintenant que vous connaissez la petite flèche verte, ça va aller tout seul. Je ne vous explique pas comment faire, je vous montre juste le résultat : Lancez l'exécution du package comme une application standard (F5) : Tout s'est bien déroulé, nous avons bien travaillé. - 52 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 53. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) 7 - Déploiement du package 7-1 - Déploiement Nous avons vu qu'il était possible d'exécuter le package depuis Visual Studio. C'est bien, mais ce n'est pas très pratique de devoir lancer Visual Studio pour lancer notre traitement. Il nous faut donc maintenant déployer notre package dans SQL Server. Ne vous faites pas de soucis, c'est encore Visual Studio qui va travailler pour nous et va tout faire tout seul ou presque. La première étape du déploiement est d'activer la création de l'utilitaire de déploiement du package. Allez dans les propriétés du projet, onglet Deployment Utility : Vous devez activer l'option CreateDeploymentUtility. Validez et regénérez le projet. Si vous vous rendez dans le dossier de sortie du projet, vous devriez avoir quelque chose qui ressemble à cela : - 53 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 54. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Il y a bien notre package, IISLogImport.dtsx. Le deuxième est le Manifeste de déploiement, IISStatistics.SSISDeploymentManifest. Ouvrez-le, un assistant de déploiement démarre. - 54 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 55. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Comme beaucoup d'assistants chez Microsoft, il y a une petite page d'accueil, passons. - 55 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 56. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) L'assistant nous propose deux modes d'installation pour notre package. Si vous regardez la description de chacun des modes, vous comprendrez que pour notre exemple, le déploiement dans le système de fichier est bien suffisant. - 56 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 57. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Choisissez l'endroit où sera copié le package. L'emplacement par défaut ira très bien dans notre cas. - 57 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 58. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Petit confirmation avant l'installation, puis bouton Suivant. - 58 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 59. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Le déploiement s'est bien passé, nous avons fini. Vérifions maintenant notre travail. 7-2 - Vérification du déploiement et exécution Pour vérifier notre travail, lancez SQL Server Management Studio et connectez vous à Integration Services, pas au serveur de base de données comme vous le faîte sans doute d'habitude : - 59 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 60. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Si vous développez l'arborescence du serveur, vous retrouverez bien notre package. Nous allons maintenant l'exécuter: - 60 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 61. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Dans le menu contextuel du package, choisissez la commande Run Package. L'assistant qui s'ouvre nous propose différentes options. Je ne détaillerai rien, les options par défaut sont correctes. Nous allons nous contenter de lancer l'exécution du package. La fenêtre suivante s'ouvre et vous pouvez suivre l'exécution du package : - 61 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 62. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) Vous pouvez voir que 472 lignes de log ont été écrites en base. Notre exécution s'est bien déroulée. - 62 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 63. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 63 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 64. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) 8 - Conclusion Je ne vous ai montré ici que quelques-unes des nombreuses possibilités offertes par SSIS. Comme vous avez pu le constater, la prise en main de ce puissant outil est relativement aisée et rapide. Les tâches que vous pouvez automatiser peuvent aller de la plus simple à la plus complexe. Il est même possible d'automatiser se traitement via les autres fonctionnalités de SQL Server, mais je garde ça pour un prochain didacticiel. Remerciements Merci à Fadace pour la correction ainsi qu'à toute l'équipe de developpez.com. - 64 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/
  • 65. Introduction à Sql Server Integration Services (SSIS) par Olivier DELMOTTE (Site Perso) - 65 - Ce document est issu de http://www.developpez.com et reste la propriété exclusive de son auteur. La copie, modification et/ou distribution par quelque moyen que ce soit est soumise à l'obtention préalable de l'autorisation de l'auteur. http://odelmotte.developpez.com/tutoriels/sqlserver/ssis/introduction/