P. 1
SSIS - Implémenter un flux

SSIS - Implémenter un flux

|Views: 4|Likes:
Published by Wafa Hammami

More info:

Published by: Wafa Hammami on Jul 03, 2013
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/27/2013

pdf

text

original

Sections

  • 1 Introduction
  • 2 Contraintes de précédence
  • 3 Implémenter un flux de contrôle
  • 3.1 Conteneurs du flux de contrôle
  • 3.1.1 Conteneur de boucle For
  • 3.1.2 Conteneur de boucle Foreach
  • 3.1.3 Conteneur de séquence
  • 3.2 Eléments du flux de contrôle
  • 3.2.1 Tâche de flux de données
  • 3.2.1.1 Tâche de flux de données
  • 3.2.2 Tâches de préparation des données
  • 3.2.3 Tâches de flux de travail
  • 3.2.4 Tâches SQL Server
  • 3.2.5 Tâches de script
  • 3.2.6 Tâches Analysis Services
  • 3.2.7 Tâches de compatibilité descendante
  • 3.3 Tâches du plan de maintenance
  • 3.3.1 Tâche Sauvegarder la base de données
  • 3.3.2 Tâche Vérifier l’intégrité de la base de données
  • 3.3.3 Tâche Exécuter le travail de l’Agent SQL Server
  • 3.3.4 Tâche Exécuter l’instruction T-SQL
  • 3.3.5 Tâche de nettoyage d’historique
  • 3.3.6 Tâche de nettoyage de maintenance
  • 3.3.7 Tâche Notifier l’opérateur
  • 3.3.8 Tâche Reconstruire l’index
  • 3.3.9 Tâche Réorganiser l’index
  • 3.3.10 Tâche Réduire la base de données
  • 3.3.11 Tâche Mettre à jour les statistiques
  • 4 Implémenter un flux de données
  • 4.1 Source de flux de données
  • 4.1.1 Source ADO.net
  • 4.1.2 Source Excel
  • 4.1.3 Source de fichier plat
  • 4.1.4 Source OLE DB
  • 4.1.5 Source de fichier brut
  • 4.2 Transformation du flux de données
  • 4.2.1 Transformations Business Intelligence
  • 4.2.2 Transformations de lignes
  • 4.2.3 Transformations d’ensemble de lignes
  • 4.2.4 Transformations de fractionnement et de jointure
  • 4.2.5 Audit de transformation
  • 4.3 Destinations du flux de données
  • 4.3.1 Destination ADO.NET
  • 4.3.2 Destination d’apprentissage du modèle d’exploration de données
  • 4.3.3 Destination DataReader
  • 4.3.4 Destination de traitement de dimension
  • 4.3.5 Destination Excel
  • 4.3.6 Destination de fichier plat
  • 4.3.7 Destination OLE DB
  • 4.3.8 Destination de traitement de partition
  • 4.3.9 Destination de fichier brut
  • 4.3.10 Destination de l’ensemble d’enregistrements
  • 4.3.11 Destination SQL Server Compact Edition
  • 4.3.12 Destination SQL Server

SSIS Implémenter un flux

Version 1.0
Z

Thibault Denizet

2

SSIS – Implémenter un flux

Sommaire

1 2 3

Introduction Contraintes de précédence Implémenter un flux de contrôle 3.1 Conteneurs du flux de contrôle Conteneur de boucle For Conteneur de boucle Foreach Conteneur de séquence

4 5 8 8 8 10 10 11 11 11 17 22 24 25 28 30 30 31 32 32 33 33 34 35 36 37 37 38 38 38 40 Dotnet France Association

3.1.1 3.1.2 3.1.3 3.2

Eléments du flux de contrôle Tâche de flux de données Tâches de préparation des données Tâches de flux de travail Tâches SQL Server Tâches de script Tâches Analysis Services Tâches de compatibilité descendante

3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.2.6 3.2.7 3.3

Tâches du plan de maintenance Tâche Sauvegarder la base de données Tâche Vérifier l’intégrité de la base de données Tâche Exécuter le travail de l’Agent SQL Server Tâche Exécuter l’instruction T-SQL Tâche de nettoyage d’historique Tâche de nettoyage de maintenance Tâche Notifier l’opérateur Tâche Reconstruire l’index Tâche Réorganiser l’index Tâche Réduire la base de données Tâche Mettre à jour les statistiques

3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.3.8 3.3.9 3.3.10 3.3.11 4

Implémenter un flux de données 4.1 Source de flux de données Source ADO.net Source Excel

4.1.1 4.1.2

3 4.1.3 4.1.4 4.1.5 4.1.6 4.2 Source de fichier plat Source OLE DB Source de fichier brut Source XML

SSIS – Implémenter un flux 41 44 45 45 47 47 48 54 56 59 60 60 61 61 61 61 61 61 61 61 61 61 62 63

Transformation du flux de données Transformations Business Intelligence Transformations de lignes Transformations d’ensemble de lignes Transformations de fractionnement et de jointure Audit de transformation

4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.3

Destinations du flux de données Destination ADO.NET Destination d’apprentissage du modèle d’exploration de données Destination DataReader Destination de traitement de dimension Destination Excel Destination de fichier plat Destination OLE DB Destination de traitement de partition Destination de fichier brut Destination de l’ensemble d’enregistrements Destination SQL Server Compact Edition Destination SQL Server

4.3.1 4.3.2 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.3.8 4.3.9 4.3.10 4.3.11 4.3.12 5

Conclusion

Dotnet France Association

il nous est nécessaire tout d’abord de nous intéresser aux contraintes de précédence afin d’apprendre à lier nos tâches. En effet.4 SSIS – Implémenter un flux 1 Introduction Ce chapitre sera consacré aux tâches du flux de contrôle et du flux de données qui sont le cœur de notre package. Dans un premier temps. Dotnet France Association . Elles vont également nous permettre de nous tenir informer sur l’évolution de notre package. nous allons étudier les tâches du flux de contrôle puis celles du flux de données. ce sont ces tâches qui vont permettre le transfert et la transformation de nos données. Cependant.

puis trois autres tâches qui lui sont liées par des flèches de différentes couleurs. La tâche Script 1 (flèche bleue) s’exécutera après la tâche Data Flow peu importe le succès ou l’échec de l’exécution de celle-ci. des flèches. la tâche Send Mail (flèche rouge) s’exécutera si l’exécution de la tâche Data Flow a échoué. Lors de l’exécution du package. il est possible de rajouter des restrictions grâce aux expressions et aux options de l’éditeur de contrainte de précédence : Dotnet France Association . on remarque quatre tâches. les tâches seront exécutés dans l’ordre de ces flèches et selon les conditions que nous auront déterminé. Enfin. Dans l’image ci-dessous. la tâche Script (flèche verte) s’exécutera uniquement si l’exécution de la tâche Data Flow s’est bien déroulé. Si nous faisons un clic droit sur la flèche bleue on obtient le menu ci-contre : Chaque couleur correspond en fait à une contrainte.5 SSIS – Implémenter un flux 2 Contraintes de précédence SSIS nous propose. notre tâche Data Flow qui sera exécuté en premier. Plus simplement : Flèche verte = succès Flèche rouge = échec Flèche bleue = Dernière étape (Completion en anglais) Si ces trois options ne suffisent pas. pour lier nos tâches. Il suffit de cliquer sur la flèche d’une tâche et de glisser la souris jusqu’à une autre tâche pour les lier.

échec ou dernière étape) ET que le contenue de l’expression soit évalué à true(vrai). Dotnet France Association . - Le menu Multiple constraints en bas de la capture d’écran permet de déterminer le comportement de la tâche si cette dernière à plusieurs flèches de précédence connectées : Deux options sont disponibles : .OU logique : Au moins une des flèches de précédence doit s’exécuter avec succès. échec. Expression ou Contrainte : L’exécution de la tâche liée se fera si l’option sélectionnée est renvoyée (succès.ET logique : Toutes les flèches de précédence doivent s’exécuter avec succès. il faut que l’option sélectionnée soit renvoyée (succès. échec ou dernière étape) OU si le contenu de l’expression est évalué à True(vrai).6 SSIS – Implémenter un flux Nous allons maintenant détailler le contenu de ce menu : La première chose à choisir est l’opération d’évaluation (Evaluation operation). dernière étape) Expression : On rentre une expression et l’exécution de la tâche liée ne se fera que si le contenu de l’expression est évalué à true(vrai). . Expression et Contrainte : Pour que l’exécution de la tâche liée se produise. quatre choix s’offrent à nous : Contrainte (Constraint) : C’est l’option par défaut. on choisit simplement l’une des trois options vues plus haut (Succès.

ces dernières ne sont donc pas liées à l’évolution du reste du package et ne sont pas soumises à un ordre d’exécution particulier.7 SSIS – Implémenter un flux Il est possible de mettre des tâches de flux de contrôle sans les raccorder à d’autres tâches. Dotnet France Association .

- Nous allons dans cette première partie décrire succinctement la plupart des tâches du flux de contrôle en commençant par les conteneurs et en continuant avec les autres tâches.. Ces tâches permettent de traiter toutes les options ne concernant par directement les données à déplacer et transformer. Voici une capture d’écran d’une boucle For contenant deux tâches.8 SSIS – Implémenter un flux 3 Implémenter un flux de contrôle Il existe deux types de tâches dans SSIS : Les tâches du flux de contrôles qui sont le squelette de notre package. les modifier.1 Conteneurs du flux de contrôle Les conteneurs sont rangés dans une autre partie que le reste des tâches du flux de contrôle car ce sont des tâches particulières. 3. 3. Ce conteneur est proche d’une boucle For en C# ou en C. une tâche SQL et une tâche flux de données. nous allons nous intéresser à une capture d’écran : Dotnet France Association . Afin de comprendre la configuration de ce conteneur. La tâche Flux de données est une tâche du flux de contrôle qui va comprendre toutes nos tâches du flux de données.1.1 Conteneur de boucle For Le conteneur de boucle For permet la répétition des tâches qu’il contient.. Elles contiennent d’autres tâches du flux de contrôle et permettent divers résultats que nous allons détailler. Les tâches du flux de données représentent toutes les tâches qui vont déplacer les données. les remplacer. etc. Le conteneur va permettre de répéter plusieurs fois ces deux tâches.

Ensuite l’EvalExpression est évaluée. Dotnet France Association . le conteneur de boucle For utilise la variable @Compteur dans les expressions afin de contrôler le nombre d’exécution de la boucle. En réalité. toute expression évaluée à true quand la boucle doit continuer et à false si elle doit s’arrêter conviendra. si elle est évaluée à True. L’InitExpression est exécuté en premier au début de la boucle pour initialiser la variable qui contrôle le conteneur. il n’est pas nécessaire d’utiliser une variable explicite. l’exécuteur quitte la boucle. Après chaque exécution du contenu de la boucle. Si elle est évaluée à false. Dans notre capture d’écran. l’AssignExpression est évaluée.9 SSIS – Implémenter un flux Le nombre de fois où le contenu de la boucle For est exécuté est déterminé par trois propriétés : InitExpression. EvalExpression et AssignExpression. le contenu de la boucle est exécuté. suivi d’une nouvelle évaluation de l’EvalExpression. Nous pouvons voir ces propriétés dans la partie For Loop Properties ci-dessus.

la boucle Foreach utilise un système d’itération pour chaque item d’une collection. le conteneur de séquence ne modifie pas la trame du package. Dotnet France Association .NET. On peut par exemple utiliser une boucle Foreach afin d’uploader tous les fichiers d’un répertoire sur un serveur FTP. Voici un aperçu de trois conteneurs de séquence dont deux ayant leur contenu masqué. la boucle Foreach fournit un moyen de répéter une partie d’un flux de contrôle. Il fournit également un moyen simple d’avoir différentes portées au sein de nos packages.2 Conteneur de boucle Foreach Comme la boucle For. Le conteneur de séquence permet par exemple d’organiser un gros package en sections pour faciliter le développement et le debugging. Chaque ligne de toutes les tables dans un dataset ADO. Chaque ligne de la première table dans un recordset ADO ou un dataset ADO.3 Conteneur de séquence Contrairement aux deux conteneurs précédents. 3.NET. De plus. il permet simplement d’organiser les tâches de nos packages. Chaque objet dans une collection SMO (SQL Server Management Objects).1.1. Chaque table dans un dataset ADO. Chaque nœud (node) dans une liste de nœud (nodelist) XML.10 SSIS – Implémenter un flux 3. au lieu d’avoir une expression pour contrôler la sortie de la boucle. Chaque élément d’une variable contenant une collection. On peut utiliser les collections suivantes : Chaque fichier dans un dossier donné correspondant à type de fichier spécifié. Cependant. il est possible de définir des propriétés communes pour les tâches appartenant à un même conteneur.NET.

2 Eléments du flux de contrôle Maintenant que nous avons vu les différents conteneurs présents.1 Tâche de système de fichiers La tâche de système de fichiers nous permet d’effectuer les actions suivantes : Copier un répertoire Copier un fichier Créer un répertoire Supprimer un répertoire Supprimer le contenu d’un répertoire Supprimer un fichier Déplacer un répertoire Renommer un fichier Définir les attributs d’un répertoire ou d’un fichier Nous devons créer une connexion vers le fichier source ou le répertoire source avec lequel nous souhaitons interagir. déplacement).11 SSIS – Implémenter un flux 3. Dotnet France Association . la partie suivante sera centrée sur ces tâches et leurs utilisations. Un flux de données représente les colonnes d’une table ou d’une vue.1 Tâche de flux de données 3. 3.1. Elle se configure dans l’onglet Flux de données. Il peut y avoir plusieurs flux de données dans un même package. suivies des tâches du plan de maintenance.2. Il faut également spécifier une connexion vers la destination si cela est nécessaire (Copie. nous allons étudier toutes les tâches du flux de contrôle en commençant par les éléments du flux de contrôles.2 Tâches de préparation des données 3. 3.2.1 Tâche de flux de données La tâche de flux de données comprend toutes les tâches pour la transformation des données.2.2.2.

12 SSIS – Implémenter un flux Ci-dessus l’éditeur de la tâche de système de fichiers.2.2 Tâche FTP La tâche FTP nous permet d’effectuer les actions suivantes sur un domaine FTP : Envoyer des fichiers Recevoir des fichiers Créer un répertoire local Créer un répertoire distant Supprimer un répertoire local Supprimer un répertoire distant Supprimer des fichiers locaux Supprimer des fichiers distants Dotnet France Association .2. 3.

d’autres options sont disponibles dans la partie Operation. Dotnet France Association . définir la connexion FTP grâce à l’adresse de votre domaine FTP.13 SSIS – Implémenter un flux Les étapes de la configuration sont : Dans le menu général de l’éditeur. qui est le dossier dans lequel vos fichiers seront uploadés sur le serveur FTP. votre login et votre mot de passe. le LocalPath définit le fichier à copier lorsqu’on veut envoyer des fichiers (Send Files). Dans le menu Transfert de fichier (File Transfer). Il faut également remplir le RemotePath.

Dotnet France Association .2. Il faut pour cela créer une connexion http.3 Tâche de service Web La tâche de service Web nous permet d’exécuter un service Web à l’intérieur de notre package.14 SSIS – Implémenter un flux 3. Ensuite nous sélectionnons la méthode web que l’on souhaite utiliser.2.

2.2. il est possible d’effectuer les actions suivantes : Valider un document XML en utilisant un XSD (XML Schema Document) ou un DTD (Document Type Definition). Appliquer une XSL Transformation (XSLT) Appliquer une requête XPath Fusionner deux documents XML Trouver les différences entre deux documents XML (Diff Operation) Appliquer sortie d’une opération Diff Le document XML source peut être lié à la tâche grâce au gestionnaire de connexion. Grâce à cette tâche.4 Tâche XML La tâche XML nous permet de manipuler des documents XML. Le document XML résultant d’une opération peut être sauvé dans un fichier texte spécifié ou sauvegardé dans une variable du package.15 SSIS – Implémenter un flux 3. par une variable du package ou entré directement. Dotnet France Association .

Profil de distribution de longueurs de colonne : Fournit une liste des différentes longueurs des chaînes de caractères présentes dans une colonne. Profil de dépendance fonctionnelle : Signale le degré de dépendance entre les valeurs d’une colonne et une autre colonne ou un ensemble de colonnes. Nous pouvons ainsi détecter tout problème au sein de ces données. ainsi que la valeur maximale et minimale pour des colonnes Datetime. Profil de ratio de colonne Null : Rapporte le nombre de NULLs dans une colonne.5 Tâche de profilage des données Cette tâche calcule différents profils en récoltant les informations d’un ensemble de données. la moyenne et l’écart type pour des colonnes numériques. Profil d’inclusion de valeur : Calcule le nombre de valeurs communes entre une ou plusieurs colonnes.16 SSIS – Implémenter un flux 3. Profil de statistiques de colonnes : Trouver la valeur maximale et minimale. Profil de distribution de valeurs de colonne : Renvoie les différents ensembles de valeurs dans une colonne et le pourcentage d’occurrence de chaque valeur. Nous pouvons effectuer les opérations de profilage suivantes : Profil de clé candidate : Détermine si une colonne ou un ensemble de colonnes est un identifiant unique pour la table sélectionnée. - Dotnet France Association . Profil de modèle de colonne : Détermine un ensemble d’expressions régulières qui sont valides pour un pourcentage spécifié de valeurs dans une colonne de chaîne.2.2.

Nous pouvons voir ci-dessous l’éditeur de la tâche d’exécution de package.17 3. nous pouvons y rentrer plusieurs paramètres : Une connexion vers le package fils. si nous mettons cette option à True. le password.1 Tâche d’exécution de package Cette tâche nous permet d’inclure un package Integration Services à l’intérieur d’un autre. ExecuteOutOfProcess permet de dissocier le processus d’exécution du package fils et du package père. Dotnet France Association . le nom du package.2. et la dernière option.3 Tâches de flux de travail SSIS – Implémenter un flux 3. Ainsi. et celui qui est lié à la tâche est le package fils. Nous disons alors que le package qui contient la tâche d’exécution de package est le package père.3. le package fils ne s’exécutera pas dans le même processus que le package père et les erreurs du package fils n’ont pas d’influence sur le package père et son bon déroulement.2.

etc.2 Tâche d’exécution de processus La tâche d’exécution de processus permet l’exécution d’un programme ou d’un fichier batch. Dotnet France Association . StandardInputVariable : La deuxième méthode pour fournir une entrée à notre application. il faut utiliser des espaces pour les délimiter. Arguments : Une des deux méthodes pour fournir une entrée à l’application lorsqu’elle est exécutée.2. exécuter des applications de gestions. StandardOutputVariable : Option permettant de définir des variables pour exploiter la sortie de l’application. Nous pouvons par exemple utiliser cette tâche pour dézipper des fichiers compressés. Voici une liste des éléments à configurer : Executable : Définit le chemin d’accès à l’exécutable. Ci-dessus. Exempe : @Var1 + " " + @Var2 Working Directory (Répertoire de travail) : Définit le chemin d’accès au répertoire de travail de notre application.18 SSIS – Implémenter un flux 3. l’éditeur de la tâche d’exécution de processus. Pour passer plusieurs arguments. il faut pour cela spécifier une variable.3. Il est également possible d’utiliser une expression pour passer une valeur variable en argument.

une ou plusieurs variables ainsi que leur contenu. Ensuite. L’utilisation de MSMQ permet de coordonner toute une entreprise en retardant par exemple l’exécution d’une tâche tant que toutes les tâches nécessaires à son exécution ne sont pas terminées. Nous pouvons aussi spécifier un délai d’attente ou une valeur pour s’assurer que l’exécution s’est bien passée.3 Tâche MSMQ La tâche MSMQ (MicroSoft Message Queue) nous permet d’utiliser Message Queuing pour envoyer ou recevoir des messages entre différents packages SSIS ou pour envoyer des messages à une file d’attente traitée par une autre application. Un message peut être un fichier de données. ou encore une chaîne de caractères. il suffit de créer une connexion vers une file d’attente de la manière suivante : <Nom_ordinateur>\<Nom_File_Attente> ou encore . 3.3.19 SSIS – Implémenter un flux StandardErrorVariable : Option permettant de définir des variables pour exploiter la sortie d’erreur de l’application. Pour la configuration. Dotnet France Association .\<Nom_File_Attente> si la file d’attente est sur l’ordinateur local. nous rajoutons le type du message et le message.2.

il est ainsi possible de signaler les erreurs à l’administrateur pour que celui-ci y remédie rapidement. La configuration se fait en quelques étapes : Créer la connexion vers le serveur SMTP Définir l’émetteur ainsi que le destinataire Rentrer un sujet Taper notre message Choisir la priorité et joindre des fichiers si nécessaire Dotnet France Association .3.4 Tâche Envoyer un message La tâche Envoyer un message permet l’envoi d’un message depuis notre package.2.20 SSIS – Implémenter un flux 3.

nous créons une connexion vers l’ordinateur dont ou souhaite obtenir des informations. Dotnet France Association . Pour configurer cette tâche.2. Cela peut-être une liste des applications installées. puis on rentre la requête et enfin la destination des données renvoyés.5 Tâche Lecteur de données WMI La tâche Lecteur de données WMI permet l’exécution d’une requête WMI (Windows Management Instrumentation) pour obtenir les informations d’un ordinateur spécifié.3.21 SSIS – Implémenter un flux 3. les composants matériels de l’ordinateur. etc.

Nous spécifions pour cela la base de données de destination (connection) ainsi que la table(DestinationTable).2.6 Tâche Observateur d’événement WMI La tâche Observateur d’événements WMI (Windows Management Instrumentation) observe les événements en utilisant une requête d’événements WQL (Management Instrumentation Query Language) pour définir quels sont ceux qui peuvent être intéressants. Ci-dessus. Nous pouvons par exemple attendre qu’un fichier ait fini d’être déplacé pour poursuivre l’exécution du package. pour cette tâche. puis nous ajoutons le fichier qui contient les données à transférer (File). La tâche peut contenir une seule ou plusieurs instructions SQL (l’exécution se fait alors de manière séquentielle). le ficher source est toujours un fichier texte.4.3. 3.2.2.2 Tâche d’exécution de requêtes SQL La tâche d’exécution de requêtes SQL permet l’exécution d’instructions ou de procédures SQL. 3.22 SSIS – Implémenter un flux 3.2. le menu Connexion de la tâche d’insertion en bloc. ou bien attendre la fin de l’installation d’une application.4. Dotnet France Association . Attention.1 Tâche d’insertion en bloc Cette tâche nous permet de copier rapidement des données d’un fichier texte dans une table ou un vue SQL Server.4 Tâches SQL Server 3.

Pour les autres types de connexions. Exécuter des procédures stockées. Voici les étapes à suivre pour configurer cette tâche (Vous pouvez voir l’éditeur de cette tâche plus bas) : Définir le type de gestionnaire de connexions à utiliser pour établir la connexion à une base de données. Préciser le type d'ensemble de résultats retourné par l'instruction SQL. Enregistrer dans une variable l’ensemble de lignes retourné par une requête. Spécifiez un délai d'expiration pour les instructions SQL.23 SSIS – Implémenter un flux Cette tâche peut être utilisée pour : Tronquer une table ou une vue pour la préparer à l’insertion de données. Indiquez si la tâche passe la phase de préparation de l'instruction SQL. nous devons indiquer si l’instruction SQL est une procédure stockée. Recréer des tables de faits et de dimensions avant d’y charger des données. Si nous utilisons le type de connexion ADO. le paramétrage est automatique et en lecture seule Dotnet France Association . modifier et supprimer des objets de base de données (tables ou vues). Créer. Définir la source de l'instruction SQL.

4.2.NET dans notre package SSIS.2. Cette tâche est similaire à la tâche de script ActiveX. Cependant. ces deux tâches peuvent effectuer des transformations.4. 3.5.4.2.1 Tâche de script La tâche de script permet d’intégrer du code .2. il suffit de spécifier quel langage nous souhaitons utiliser (C# ou VB). La configuration de cette tâche est assez simple.7 Tâche de transfert de procédures stockées de master Cette tâche transfert des procédures stockées de master entre des bases de données master sur des instances de SQL Server. en effet.8 Tâche de transfert d’objets SQL Server Cette tâche transfert un ou plusieurs types d’objets d’une base de données SQL Serveur entre des instances SQL Server. le codage se fait plus simplement et la code est précompilé dès que le script est enregistré. On peut par exemple copier des tables ou des vues.2. 3. Il faut ensuite taper le code en cliquant sur Edit Script… .2. 3.5 Tâche de transfert de travaux La tâche de transfert de travaux transfert des travaux d'agent SQL Server entre des instances de SQL Server. 3. 3. la tâche de script est supérieur à la tâche de script ActiveX. faire des calculs complexes et implémenter une logique métier qui ne peuvent être crées en utilisant d’autres tâches SSIS.5 Tâches de script 3. 3. ce qui augmente les performances lors de l’exécution du package.2.4.4 Tâche de transfert de messages d’erreur Cette tâche transmet des messages d’erreurs entre des instances de SQL Server.6 Tâche de transfert de connexions Cette tâche permet de transférer une ou plusieurs connexions entre des instances de SQL Server. Dotnet France Association .4.24 SSIS – Implémenter un flux 3. les variables que nous ne pouvons pas modifier(ReadOnlyVariables) et les variables que nous pouvons modifier(ReadWriteVariables).3 Tâche de transfert de bases de données La tâche de transfert de bases de données permet de copier ou déplacer une base de données entre deux instances SQL Server.4.2.

25 SSIS – Implémenter un flux 3. la tâche utilise des requêtes DDL (Data Definition Language) qui sont écrites en AASL (Analysis Services Scripting Language) puis insérées dans une commande XMLA (XML for Analysis Services).6 Tâches Analysis Services 3.1 Tâche DDL d’exécution de SQL Server Analysis Services Cette tâche nous permet d’intervenir sur un serveur Analysis Services en modifiant ou en supprimant les objets multidimensionnels comme les cubes et les dimensions.2.2. Dotnet France Association . Pour cela.6.

ou variable. Nous l’utilisons en général lorsqu’un grand nombre de changement ont été fait dans la base de données. où nous tapons directement notre requête. comme les cubes. où nous définissons la source par une variable.26 SSIS – Implémenter un flux Voici le menu de la tâche DDL d’exécution de SQL Server Analysis Services. qui se connecte à un fichier contenant la requête.6. les dimensions et les modèles d’exploration de données (Datamining). Dotnet France Association . Ensuite nous choisissons entre Direct input.2. cette tâche utilise un gestionnaire de connections Analysis Services pour se connecter à une instance Analysis Services. file connection. 3.2 Tâche de traitement d’Analysis Services La tâche de traitement d’Analysis Services nous permet de traiter les objets Analysis Services.

Dotnet France Association .3 Tâche de requête d’exploration de données Cette tâche fournit des prédictions grâce à l’utilisation de requêtes de prédictions basées sur les modèles d’exploration de données intégrés à Analysis Services.6.27 SSIS – Implémenter un flux 3.2. Les requêtes sont écrites en DMX (Data Mining Extensions) qui est une extension du langage SQL prenant en charge l’utilisation de modèles d’exploration de données. Le DataMining sera détaillé dans le cours Analysis Services.

1 Tâches de script ActiveX Les tâches de script ActiveX permettent de définir des scripts en VBScript ou en Javascript.28 SSIS – Implémenter un flux Ci-dessus. Elle permet cependant d’effectuer des calculs complexes. le menu principal de la tâche de requête d’exploration de données. Pour finir. la tâche de script ActiveX présente des problèmes de sécurité en permettant l’accès aux serveurs. cette tâche présente des désavantages par rapport à une tâche de script.7 Tâches de compatibilité descendante 3.2. elle est interprétée lors de l’exécution du package contrairement à une tâche de script qui est précompilée.2. De plus. En effet. cette tâche ne fournit aucune aide à la programmation. et d’intégrer une logique métier au sein du package. l’ancêtre de SSIS). Dotnet France Association . Cette tâche est fournie uniquement à des fins de compatibilité avec le composant DTS (Data Transformation Services. 3.7.

le menu de script de la tâche de script ActiveX.29 SSIS – Implémenter un flux Ci-dessus. entrer un script ou l’importer et déterminer le point d’entrée de notre script. on peut y choisir le langage (Javascript ou VBScript). Dotnet France Association .

1 Tâche Sauvegarder la base de données Cette tâche permet l’intégration d’une sauvegarde de la base de données au sein de notre package.3 Tâches du plan de maintenance En plus des conteneurs de boucles et outils du flux de contrôle. Grâce à cette tâche. 3. Dotnet France Association . Lorsque la configuration n’est pas expliquée. Il est possible de voir sur chaque tâche les requêtes SQL exécutés lorsque nous utilisons la tâche.3. l’onglet du flux de contrôle possède également les tâches du plan de maintenance. on peut inclure dans le même package et donc durant la même exécution une tâche pour sauvegarder les données et une autre pour les modifier.30 SSIS – Implémenter un flux 3. Comme leur nom l’indique ces tâches font partie du plan de maintenance d’une base de données. cela signifie qu’elle est similaire à la première expliquée. On l’utilise par exemple avant d’effectuer de gros changements dans notre base de données.

Full.31 SSIS – Implémenter un flux Pour configurer cette tâche. Si l’inspection détecte des données corrompues. Differential ou Transaction Log. Nous choisissons le type de sauvegarde.3. nous créons d’abord une connexion vers le serveur. La sauvegarde peut se composer d’un seul fichier ou de plusieurs (Un par base de données). ce sera les tâches liées par une contrainte d’échec. Cette tâche peut être utilisée par exemple après de grosses modifications dans une base de données. la tâche est considérée comme un succès et seules les tâches liées avec une contrainte de précédence succeed ou completion seront exécutées.2 Tâche Vérifier l’intégrité de la base de données La tâche vérifier l’intégrité de la base de données vérifie si une ou plusieurs bases de données sur un même serveur sont corrompues. La configuration est simple. Si l’inspection ne détecte pas de données corrompues. 3. Dotnet France Association . Cette tâche exécute en fait la commande suivante DBCC CHECKDB WITH NO_INFOMSGS pour chaque base de données spécifiée. nous créons la connexion vers le serveur et nous spécifions les bases de données à inspecter. nous pouvons ensuite choisir le nombre que l’on souhaite de base de données à sauvegarder sur cet unique serveur.

32 3.3 SSIS – Implémenter un flux Tâche Exécuter le travail de l’Agent SQL Server Cette tâche nous permet d’effectuer un travail spécifique à l’intérieur de notre package. Il suffit de créer la connexion puis de sélectionner le travail.3.3. Un seul travail peut être sélectionné pour l’exécution.4 Tâche Exécuter l’instruction T-SQL Cette tâche nous permet d’exécuter une ou plusieurs instructions T-SQL Dotnet France Association . 3.

3. et les historiques du plan de maintenance de base de données.6 Tâche de nettoyage de maintenance La tâche de nettoyage de maintenance supprime les fichiers crées par le plan de maintenance de base de données et les sauvegarde de bases de données. Cela inclut les historiques de sauvegarde. Dotnet France Association .3. les historiques de travail de l’agent SQL.33 3.3.5 SSIS – Implémenter un flux Tâche de nettoyage d’historique La tâche de nettoyage permet la suppression des historiques d’une base de données.

34 SSIS – Implémenter un flux 3.7 Tâche Notifier l’opérateur Cette tâche envoie un e-mail à un ou plusieurs opérateurs SQL Server utilisant SQLiMail. Un opérateur doit être installé avec une adresse e-mail in SQL Server avant de pouvoir utiliser cette tâche. Dotnet France Association . Bien entendu.3. SQLiMail doit être installé et configuré pour cette tâche pour fonctionner.

3.8 Tâche Reconstruire l’index La tâche Reconstruire l’index reconstruit les index d’une ou plusieurs bases de données. Cela oblige les serveurs SQL à supprimer leurs index pour les reconstruire.35 SSIS – Implémenter un flux 3. Dotnet France Association .

3. cela compresse les index. De plus.9 Tâche Réorganiser l’index La tâche Réorganiser l’index réorganise les index dans une ou plusieurs bases de données. Réorganiser les index défragmente les éléments des index groupés et des index non groupés. Dotnet France Association .36 SSIS – Implémenter un flux 3.

37 SSIS – Implémenter un flux 3.11 Tâche Mettre à jour les statistiques Cette tâche nous permet de mettre à jour les statistiques dans une ou plusieurs bases de données.3. Etant donné que les bases de données sont utilisées par SQL Server pour calculer les plans d’exécution des requêtes. Nous pouvons déterminer si cet espace libéré est rendu au système d’exploitation ou s’il est gardé par la base de données. 3.3.10 Tâche Réduire la base de données Cette tâche permet la récupération des emplacements des tables non utilisés dans une ou plusieurs bases de données. c’est important que ces statistiques soient à jour. Dotnet France Association .

Nous allons commencer par voir les tâches nous permettant de définir les sources de nos données. il faut créer une connexion vers les données source. nous avons le choix entre deux types d’accès aux données. il nous suffira ensuite de sélectionner la table ou la vue à utiliser.net La tâche Source ADO. Nous verrons ensuite les tâches de transformation des données. Si nous choisissons le mode Table or view. Pour utiliser cette tâche.1 Source ADO.NET afin de se connecter à une base de données source. nous analyserons les tâches permettant de sélectionner les destinations de nos données. Une fois que cette connexion a été créée.net permet l’utilisation d’ADO.1 Source de flux de données 4. Soit par le mode Table or view (Table ou vue) soit par le mode SQL command.38 SSIS – Implémenter un flux 4 Implémenter un flux de données Nous avons donc vu toutes les tâches du flux de contrôle. Dotnet France Association . puis enfin.1. 4. autrement dit grâce à une requête SQL. nous allons maintenant étudier les tâches du flux de données qui vont nous permettre de modifier nos données.

Nous allons ensuite la chercher avec la fonction browse de notre tâche. Tout d’abord. nous devons ensuite choisir de quel façon nous allons utiliser cette méthode. Sinon. Nous pouvons y voir les colonnes de notre table ou de notre vue. Nous parlerons plus tard du Générateur de requête. il est possible d’utiliser le SQL Server Management Studio puis de sauvegarder la requête. L’onglet Colonne ci-dessus. Enfin. Dotnet France Association . lorsque nous travaillerons sur la source OLE DB. utilise les informations de l’onglet Connection Manager dès que nous l’ouvrons. nous pouvons rentrer directement notre requête dans l’espace à cet effet. nous pouvons utiliser le générateur de requête (Query Builder). il nous faut bien connaître la structure de la base de données et être à l’aise avec la syntaxe des requêtes SQL. dans ce cas.39 SSIS – Implémenter un flux Si nous choisissons le mode SQL Command.

NET. Lorsque cela est fait.2 SSIS – Implémenter un flux Source Excel La tâche Source Excel nous permet d’utiliser un fichier Excel comme source de données.) et SQL Command from variable(Les résultats d'une instruction SQL stockée dans une variable). Dotnet France Association . l’onglet Columns affiche les colonnes de notre fichier Excel.1. Il nous faut créer une connexion vers le fichier Excel à utiliser. plus deux autres : Table name or view name variable (Une table ou une vue spécifiée dans une variable. L’accès aux données peut se faire selon les deux méthodes vu dans la tâche Source ADO.40 4.

Nous pouvons indiquer la délimitation des colonnes au sein de notre fichier plat de nombreuses manières.3 SSIS – Implémenter un flux Source de fichier plat Cette tâche permet l’utilisation de fichiers texte comme source de données. etc. Comme pour les autres tâches. nous devons créer une connexion vers le fichier plat à utiliser. virgule.1.).41 4. Dotnet France Association .(tab.

Dotnet France Association .42 SSIS – Implémenter un flux Nous pouvons voir un aperçu de la mise en forme des colonnes dans l’onglet Column et spécifier quelques options supplémentaires.

43 SSIS – Implémenter un flux L’onglet Advanced nous permet de définir les propriétés de nos colonnes. Dotnet France Association . Enfin l’onglet Preview offre un aperçu du rendu.

4 SSIS – Implémenter un flux Source OLE DB La tâche Source OLE DB permet l’utilisation de données de n’importe quelle source qui supporte l’utilisation d’OLE DB. Dotnet France Association .44 4. La configuration est très proche de ce que nous avons déjà vu. OLE DB est une interface de programmation(API) développé par Microsoft pour l’accès aux données.1. Pour rappel.

En raison de cela. Dotnet France Association .1.6 Source XML Comme son nom le laisse supposer. Si le XML provient d’un fichier. Il est également possible de spécifier le chemin d’accès d’un XSD qui définit la structure de notre XML. la tâche Source XML permet d’utiliser les données stockées dans des fichiers XML dans le flux de données. 4.5 SSIS – Implémenter un flux Source de fichier brut La tâche Source de fichier brut nous permet d’utiliser des données stockées dans un fichier brut.45 4. il suffit de spécifier le chemin d’accès ou obtenir le chemin du fichier grâce à une variable au moment de l’exécution. Le format de fichier brut est le format de base pour Integration Services.1. l’accès à ce type de fichiers se fait rapidement par SSIS.

46 SSIS – Implémenter un flux Le reste des onglets fonctionne de la même façon que précédemment. Dotnet France Association .

4. Cette tâche ne peut extraire que deux types d’éléments : des noms seuls et des expressions nominales qui sont composées d’au moins deux mots.2. si l’on spécifie le type de terme nom.1.1 Transformations Business Intelligence 4. Cette tâche dispose d’un assistant pour sa configuration. un nom et un adjectif/un autre nom. De plus.1. Elle compte ensuite le nombre d’occurrence des termes de la table dans le texte spécifié et les envoie avec le terme correspondant dans la colonne de sortie. puis les transformations de lignes et d’ensemble de lignes. 4. expression nominale. nous commençons par sélectionner la colonne dont nous souhaitons extraire des termes. etc.1. le dernier onglet nous permet de configurer le type de terme que l’on souhaite obtenir (Nom. etc.2.1. elle a deux limitations importantes : Elle ne peut effectuer des extractions que sur les types de données DT_WSTR et DT_NTEXT et ne fonctionne que sur des textes en anglais. Enfin si on spécifie nom et expression nominale. Tout d’abord. Nous pouvons par exemple l’utiliser pour trouver des lignes dupliquées.4 Transformation d’extraction de terme La tâche transformation d’extraction de terme permet l’extraction d’une liste de mots et de phrases à partir d’une colonne contenant du texte et en compte également le nombre d’occurrence.1 Transformation de dimension à variation lente La tâche de transformation de dimension à variation lente permet de coordonner la mise à jour et l’insertion de données dans les tables d’un entrepôt de données. nous étudierons les transformations de fractionnement et jointure et nous finirons avec les audits de transformation.2. L’onglet d’exclusion permet de préciser un nom de table ou de vue qui contient une liste des termes ou des phrases à exclure.47 SSIS – Implémenter un flux 4. ou les deux) et les options de fréquence. Puis on spécifie le terme à rechercher et le nom de la colonne de sortie. nous obtiendrons les deux types d’exemples du dessus. voiture.2 Transformation de regroupement probable La transformation de regroupement probable permet de trouver des groupes de lignes du flux de données basées sur des recherches non-exact. il suffit de suivre les étapes et de remplir correctement les options. Si on spécifie le type expression nominale nous obtiendrons : grosse maison. Ensuite. nous créons une connexion vers une base de Dotnet France Association . Pour configurer cette tâche.2. voiture bleu. 4. Cette tâche utilise donc la correspondance floue pour renvoyer un ou plusieurs résultats dont la correspondance est proche de la table de référence.2 Transformation du flux de données A présent que nous avons vu comment définir les sources de nos données. nous verrons les transformations propres à la Business Intelligence.1. 4.5 Transformation de recherche de terme La tâche transformation de recherche de terme fait une correspondance entre les termes d’une table et ces mêmes termes contenus dans un texte. Pour configurer cette tâche. Par exemple.2. Enfin. 4. nous allons voir comment transformer ces données.2.3 Transformation de recherche floue La tâche de transformation de recherche floue permet d’effectuer des recherches en utilisant une logique de correspondance floue. nous obtiendrons des noms : maison.

48

SSIS – Implémenter un flux données, puis nous spécifions la colonne contenant les termes à comparer et la colonne contenant le texte. 4.2.1.6 Transformation de requête d’exploration de données La tâche transformation de requête d’exploration de données nous permet d’exécuter une requête DMX (Data Mining Extensions). En utilisant ce type de requête avec un modèle d’exploration de données, il est possible de faire des prédictions basées sur les données du flux de données. Les résultats des requêtes sont ajoutés en tant que nouvelle colonne dans le flux de données.

4.2.2

Transformations de lignes

4.2.2.1 Transformation de la table de caractères La tâche de transformation de la table de caractères permet d’effectuer des modifications sur les colonnes contenant des chaînes de caractères. La colonne modifiée peut soit remplacé celle utilisé avant la transformation soit être ajoutée en tant que nouvelle colonne. Nous pouvons effectuer les modifications de chaîne de caractères suivantes : Lowercase (Minuscule) : Met tous les caractères en minuscule. Uppercase (Majuscule) : Met tous les caractères en majuscule. Byte Reversal (Inversion d’octet) : Inverse l’ordre des octets de chaque caractère. Hiragana : Mappe des caractères katakana avec des caractères hiragana. Katakana : Mappe des caractères hiragana avec des caractères katakana. Half width (Demi-chasse) : Mappe des caractères à pleine chasse avec des caractères à demichasse. Full Width (Pleine chasse) : Mappe des caractères à demi-chasse avec des caractères à pleine chasse. Linguistic casing (Casse Linguistique) : Applique la casse linguistique à la place de la casse Système. Traditional Chinese (Chinois traditionnel) : Mappe des caractères de chinois simplifié avec des caractères de chinois traditionnels.

Nous pouvons utiliser plusieurs transformations sur la même colonne, cependant, certaines transformations sont exclusives, cela n’a par exemple aucun sens d’appliquer la transformation Majuscule et la transformation Minuscule à la même colonne. L’onglet Error Outpur de cette tâche nous permet de définir le comportement de la tâche lorsqu’il y a une troncation d’une chaîne de caractères au sein d’une colonne. Ci-dessous, l’éditeur de la tâche.

Dotnet France Association

49

SSIS – Implémenter un flux

4.2.2.2 Transformation Copie de colonnes La tâche transformation Copie de colonnes crée de nouvelles colonnes en copiant des colonnes existantes. Nous pouvons ensuite utiliser ces copies pour des calculs, des transformations ou des mappages.

Dotnet France Association

50

SSIS – Implémenter un flux

Ci-dessus, l’éditeur de la tâche Copie de colonnes, nous avons copié la colonne Nom et avons nommé la nouvelle colonne Test.

Dotnet France Association

le chapitre 2 : Variables et expressions contient une liste de tous les types de données de SSIS.2.3 Transformation de conversion de données La tâche Transformation de conversion de données permet de convertir des colonnes d’un type de données à un autre.51 SSIS – Implémenter un flux 4. Ci-dessous. Dotnet France Association . Pour rappel.2. un aperçu de la transformation de deux colonnes de type DT_STR (chaîne de caractères) en type DT_DATE pour l’un et en DT_UI1 pour l’autre.

2.2. La configuration est très simple. je ne la détaillerai donc pas.52 SSIS – Implémenter un flux 4. Les valeurs obtenues peuvent soit remplacer les valeurs utilisées soit être ajoutés à de nouvelles colonnes. Nous avons ci-dessus l’éditeur de la transformation de colonne dérivée. nous avons crée une nouvelle colonne Exp calculant la fonction exponentielle sur les éléments de la colonne Carré qui contient le carré des éléments de la colonne Moyenne.5 Transformation d’exportation de colonne La tâche Transformation d’exploration de colonne peut lire les données du flux de données puis les insérer dans un fichier. Il est possible d’utiliser des variables SSIS ou le contenu des colonnes du flux de données.4 Transformation de colonne dérivée La tâche de transformation de colonne dérivée permet d’intégrer des valeurs dérives obtenues à partir d’expressions. Dotnet France Association . si on souhaite une liste d’images de produits. nous pouvons utiliser cette tâche pour enregistrer les images dans des fichiers. 4.2. Par exemple.2.

Comme nous pouvons le voir ci-dessus. il faut également spécifier les entrées et les sorties de nos tâches de script. Ensuite.7 Composant Script La tâche Composant Script n’est pas réellement une tâche de transformation malgré sa position dans SSIS. il suffit de coder le script. elle peut servir de tâche de transformation pour effectuer des actions particulièrement précises qui ne sont pas disponibles avec d’autres tâches. elle peut servir de tâche de transformation si codée comme telle. Mais nous pouvons également nous en servir comme source ou comme destination. De même. Il n’y a que deux choses à configurer : déterminer le lieu d’exécution de la requête et définir la requête.53 SSIS – Implémenter un flux 4.2.8 Transformation de commande OLE DB La tâche de transformation de commande OLE DB permet l’exécution d’une requête SQL pour chaque rangée dans le flux de données. Et bien entendu.2. Comme pour l’exportation. Lors de la configuration. Dotnet France Association . il est nécessaire de sélectionner une de ces trois options lors de la création de la tâche.2. 4.2.2. la configuration est simple. elle permet d’écrire des données sur des formats nonsupportés par SSIS. 4.2.6 Transformation d’importation de colonne La tâche Transformation d’importation de colonne permet d’importer le contenu d’un ensemble de fichiers et de les insérer dans une colonne d’image ou de texte du flux de données. En effet. en tant que destination. En tant que source. nous pouvons par exemple l’utiliser afin de lire un type de fichier supporté par aucune connexion de SSIS. Il est cependant nécessaire d’avoir une colonne contenant le nom des fichiers à importer au sein de notre flux de données.

2. utilisable uniquement sur des valeurs numériques. Sum : Effectue l’addition des valeurs d’une colonne. Minimum : Renvoie la valeur minimale d’un groupe. Maximum : Renvoie la valeur maximale d’un groupe.54 SSIS – Implémenter un flux 4. Count distinct : Renvoie le nombre de valeurs uniques figurant dans un groupe. nous commençons par choisir les tâches sur lesquelles nous souhaitons faire une agrégation. utilisable uniquement sur des valeurs numériques Count : Renvoie le nombre d’éléments contenus dans un groupe.3. Pour configurer cette tâche. Nous pouvons voir l’éditeur de cette tâche cidessous. Nous choisissons ensuite le type d’opération que nous allons appliquer à chacune de nos colonnes.2.1 Transformation d’agrégation La tâche Transformation d’agrégation permet de combiner des informations dans une unique valeur. Nous pouvons effectuer les agrégations suivantes : Average : Calcule la moyenne. utilisable uniquement sur des valeurs numériques.3 Transformations d’ensemble de lignes 4. Dotnet France Association . Cette tâche se rapproche du GROUP BY en SQL.

nous définissons le pourcentage et les deux sorties des flux de données comme nous pouvons le voir sur le l’image ci-dessous. Pour configurer cette tâche.3 Transformation de l’échantillonnage du pourcentage La tâche de transformation de l’échantillonnage du pourcentage permet de créer un échantillon d’un flux de données. Nous aurons ainsi deux flux de données. Pour configurer cette tâche. elle n’est à utilisé que lors de tests.2. nous déterminons un nombre de lignes. Dotnet France Association . 4. la seule différence est qu’au lieu de définir un pourcentage pour définir la taille du flux de données échantillonné. l’un étant un exemple échantillon de l’autre.2. En effet.2.2 Transformation de tri La tâche de transformation de tri permet de trier les lignes du flux de données.4 Transformation d’échantillonnage de lignes La tâche de transformation d’échantillonnage de lignes est très similaire à la transformation d’échantillonnage du pourcentage ci-dessus.55 SSIS – Implémenter un flux 4. 4.3.3. nous devons spécifier les colonnes à trier ainsi que leur ordre de tri. Cette tâche va sélectionner aléatoirement un pourcentage de rangées que nous aurons déterminé du flux de données et créer une deuxième flux de données.3. La dernière option permet de réduire la variabilité du random de la tâche.

Voici notre flux de données : (J’utilise uniquement des fichiers plats dans cet exemple car ce sont les sources et les destinations les plus simples à configurer.) Dotnet France Association . Par exemple.2. 4. Dans l’éditeur de cette tâche.cellulaire). 4. elle est envoyée dans la sortie correspondante.3. chaque donnée est comparé avec la condition. Nous allons déplacer des élèves dans trois destinations différentes selon leurs notes. nous définissons des conditions pour chaque branche du fractionnement. Après la normalisation. Lors de l’exécution du package. Nous allons prendre un exemple pour rendre tout cela plus clair.4.3.maison. Ainsi un flux de données entrant contenant de nombreuses lignes ressort de cette tâche avec beaucoup moins de lignes grâce à une agrégation des données. sinon elle passe aux conditions suivantes.1 Transformation de fractionnement conditionnel La tâche de transformation de fractionnement conditionnel permet le fractionnement du flux de données et l’envoi des lignes de données dans différentes sorties. Si elle répond à la première condition.56 SSIS – Implémenter un flux 4. un ensemble de données répertorie des numéro de téléphone de clients (chaque client à une seule ligne contenant tous ses numéros de téléphone : travail.2.5 Transformation de tableau croisé dynamique La tâche de transformation de tableau croisé dynamique transforme un ensemble de données normalisées en une version moins normalisée mais plus compacte grâce à un croisement dynamique des données.2.4 Transformations de fractionnement et de jointure 4.2. nous aurons une ligne par numéro de téléphone.6 Transformation Unpivot La transformation Unpivot permet de transformer des données non normalisées en données normalisées. visible ci-dessous.

57 SSIS – Implémenter un flux Nous avons donc un fichier plat source qui contient tous les élèves. vous pouvez utiliser ce que vous souhaitez tant que vous définissez la bonne option dans la configuration de vos fichiers plats. notre transformation de fractionnement conditionnel et trois fichiers plats de destination où seront stockés les élèves selon leur niveau.) Et voici l’éditeur de la tâche de fractionnement conditionnel : Dotnet France Association . Voici le contenu de notre fichier plat Source : (Nous utilisons ici des virgules pour séparer nos colonnes. leurs notes et leur classe.

Comme pour la transformation de fusion. Dotnet France Association .2. le flux de données sortant ne l’est donc pas non plus. Cette tâche copie simplement les données et l’envoie dans plusieurs directions. ceux ayant une note supérieur ou égale à 10 et inférieur à 15 dans le fichier plat moyen et enfin ceux ayant une note supérieur ou égale à 15 dans le fichier plat Bon.4.2.5 Transformation de jointure de fusion La transformation de jointure de fusion permet la fusion de deux flux de données ensemble en exécutant une jointure INNER. Après l’exécution de nos tâches. Pour fusionner proprement. voici le résultat : 4.4.2 Transformation multidiffusion La tâche multidiffusion permet d’utiliser un unique flux de données et de l’utiliser comme source pour de nombreux autres flux de données.2. les flux de données doivent être triés de la même manière. Si vous ne souhaitez pas utiliser de tâche de tri. et que vos données sont triées de la même façon. 4. il suffit juste de mapper les colonnes comme nous le souhaitons. Il est donc intéressant d’utiliser des tâches de tri afin de fournir à la tâche de fusion des données triées.4. Presque aucune configuration n’est nécessaire avec cette tâche. 4.4 Transformation de fusion La transformation de fusion permet de fusionner deux flux de données.2.4. Les données n’ont pas besoin d’être triées. il suffit de choisir le type de joint que l’on souhaite utiliser puis de sélectionner les colonnes à fusionner.3 Transformation d’union totale La tâche de transformation d’union totale permet de fusionner autant de flux de données que l’on souhaite. 4. il est possible de définir l’option IsSorted dans le menu avancé des sources. il faut que les deux flux de données soient triés de la même manière. Pour configurer cette tâche.58 SSIS – Implémenter un flux Nous voyons donc que les élèves ayant une moyenne strictement inférieur à 10 seront envoyés dans le fichier plat Faible. LEFT ou FULL.

Un GUID pour la tâche du flux de données.2.2. Le nom de la tâche du flux de données.4.7 Transformation du cache La transformation du cache envoie des données dans un gestionnaire de connexions du cache qui seront utilisées par exemple par une transformation de recherche. Dotnet France Association . 4. Ces colonnes d’audit peuvent être placées dans une destination de données et fournir ainsi des informations sur l’heure de l’exécution. Le nom de la machine où le package a été exécuté.2. la transformation de recherche ne prend que les résultats exactes. 4.1 Transformation d’audit La tâche transformation d’audit nous permet d’ajouter des colonnes contenant des informations à propos de l’exécution du package au flux de données.4. Ci-dessous. L’heure du début d’exécution du package. Nous pouvons placer les informations suivantes dans les colonnes d’audit : Un GUID pour l’exécution du package.5 Audit de transformation 4. La version du package. nous pouvons voir l’éditeur de transformation Audit qui ajoute des colonnes contenant le nom de la tâche du flux de données. il n’y a que le type de recherche qui change.caw.6 Transformation de recherche La transformation de recherche se rapproche de la transformation de recherche floue. le GUID du package. Le nom d’utilisateur. le GUID de l’exécution du package et l’heure de début d’exécution du package. Un GUID pour le package.2.59 SSIS – Implémenter un flux 4. Nous pouvons aussi spécifier un enregistrement des données dans un fichier cache . sa durée et de nombreux autres éléments.5.

2 Transformation de calcul du nombre de lignes La tâche de transformation de calcul du nombre de lignes nous permet de déterminer le nombre de lignes contenues dans le flux de données.60 SSIS – Implémenter un flux 4. Comme pour toutes les destinations.3 Destinations du flux de données Maintenant que nous avons vu les sources et les transformations de SSIS.1 Destination ADO. Cette partie sera courte car les tâches destination sont très simples à utiliser. Nous pouvons ainsi l’utiliser dans des expressions pour modifier le flux de contrôle ou le flux de données.) 4.NET pour nous connecter à notre base de données de destination. il suffit en général de créer une connexion vers le fichier où nous souhaitons envoyer nos données.NET nous permet d’utiliser ADO. (Les parties concernant Analysis Services risquent de ne pas être clair.NET La destination ADO. Ce nombre de lignes est ensuite stockée en tant que variable du package. il faut mapper les colonnes et définir la structure du flux de données à envoyer dans la base de données de destination.2.3. il ne nous reste plus qu’à nous intéresser aux destinations. Une fois que c’est fait. il suffit de créer une connexion vers la destination. 4. vous les comprendrez plus tard lorsque vous lirez le cours SQL Server Analysis Services.5. Dotnet France Association .

3. 4. 4. nous pouvons charger des données dans une partition de cube Analysis Services. En raison de cela. 4. 4. .3 Destination DataReader La destination DataReader permet l’utilisation ADO. Dotnet France Association .NET pour se connecter à une base de données de destination. 4.5 Destination Excel La destination Excel permet l’envoi de données dans un fichier Excel.).6 Destination de fichier plat La destination de fichier plat permet l’envoi de données dans un fichier texte. ils peuvent être écrits et lus très rapidement par SSIS. 4. Le seul élément de configuration différent des autres tâches de destination est le fait de préciser le séparateur de colonnes (. Exercer les modèles d’exploration permet ensuite de réaliser des prédictions grâce à des connaissances provenant d’un ensemble de données.10 Destination de l’ensemble d’enregistrements La destination de l’ensemble d’enregistrements envoie un flux de données à un enregistrement qui est ensuite stocké en tant que variable de package.9 Destination de fichier brut La destination de fichier brut permet l’écriture des données sur un fichier brut.61 4. Nous pouvons ainsi fournir de nouvelles valeurs dans les dimensions d’un cube Analysis Services. Tout ce qu’il y a à faire est de créer une connexion vers le fichier puis de mapper les colonnes d’entrée et de sortie. L’enregistrement peut ainsi être utilisé dans tout le package.11 Destination SQL Server Compact Edition La destination SQL Server Compact Edition nous permet d’envoyer des données dans une base de données SQL Server Compact. 4.3. En utilisant cette tâche. (Même fonction que destination ADO.3.3.7 Destination OLE DB La destination OLE DB nous permet de charger des données dans des bases de données compatibles avec OLE DB. Le format de ces fichiers est le format natif pour SSIS.3.8 Destination de traitement de partition La destination de traitement de partition envoie des données dans une partition SQL Server Analysis Services. tab etc.3.NET) 4.3.4 Destination de traitement de dimension La destination de traitement de dimension nous permet d’envoyer des données à une dimension SQL Server Analysis Services.2 SSIS – Implémenter un flux Destination d’apprentissage du modèle d’exploration de données Cette tâche de destination permet l’utilisation d’un flux de données pour exercer un modèle d’exploration de données (datamining).3.3. Les bases de données SQL Server Compact sont des versions allégées destinées aux Smartphones ou PDA équipés de Windows Mobile.3. 4.

12 Destination SQL Server La destination SQL Server permet d’insérer rapidement et en grosse quantité des données dans une table ou une vue d’une base de données SQL Server local.3. Dotnet France Association .62 SSIS – Implémenter un flux 4.

63 SSIS – Implémenter un flux 5 Conclusion A présent. gestionnaire d’évènements. vous avez presque toutes les clés pour le développement de package SQL Server Integration Services. à propos de tout ce que nous n’avous pas vu à propos de SSIS (Debugging. Dotnet France Association . N’hésitez pas à créer des packages pour vous entrainer et apprendre à maitriser chaque tâche. Il ne reste qu’un chapitre dans cette partie. historique) puis nous nous intéresserons à la maintenance d’une solution SSIS.

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->