2011 Hakim Benameurlaine 1



Documents pareils
Procédures Stockées WAVESOFT ws_sp_getidtable Exemple : ws_sp_getnextsouche Exemple :... 12

Encryptions, compression et partitionnement des données

CREATION WEB DYNAMIQUE

Corrigé de l'atelier pratique du module 6 : Transfert de données

Modélisation et Gestion des bases de données avec mysql workbench

Introduction aux outils BI de SQL Server Tutoriel sur SQL Server Integration Services (SSIS)

TP2_1 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Exploiter les statistiques d utilisation de SQL Server 2008 R2 Reporting Services

Création et Gestion des tables

Installation de SQL Server Reporting Services avec l intégration dans un site Windows SharePoint Services V3

MS SQL Express 2005 Sauvegarde des données

Créer un rapport pour Reporting Services

Gestion de base de données

Les Utilisateurs dans SharePoint

Olivier Mondet

Business Intelligence avec SQL Server 2012

Présentation Windows Azure Hadoop Big Data - BI

Installation FollowMe Q server

SQL Server 2012 Implémentation d'une solution de Business Intelligence (Sql Server, Analysis Services...)

La réplication sous SQL Server 2005

BIRT (Business Intelligence and Reporting Tools)

TP Contraintes - Triggers

VAMT 3. Activation de produits Microsoft

Licence de MIDO - 3ème année Spécialités Informatique et Mathématiques Appliquées

Configurer la supervision pour une base MS SQL Server Viadéis Services

TP2 DE BUSINESS INTELLIGENCE ISIMA ZZ3 F3

Comment Accéder à des Bases de Données MySQL avec Windows lorqu'elles sont sur un Serveur Linux

Corrigé de l'atelier pratique du module 5 : Analyse de SQL Server

Insérer des images dans Base

Sophos Endpoint Security and Control Guide de configuration pour réseaux étendus. Enterprise Console, version 3.1 EM Library, version 1.

SQL Server et Active Directory

Thibault Denizet. Introduction à SSIS

Utilisation du BDE pour la maintenance des fichiers DBF de l'application TopoCad:

Utilisation de JAVA coté Application serveur couplé avec Oracle Forms Hafed Benteftifa Novembre 2008

WDpStats Procédure d installation

Pratique et administration des systèmes

Mysql avec EasyPhp. 1 er mars 2006

Documentation Ellipses Windows. Auteur : Léonard FRECHET Date : 10/01/07 Diffusion : Publique ELLIPSES Envoi Automatisé de SMS Ellipses SMS

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

WebParts. Version 1.0

Cours Bases de données 2ème année IUT

Création d'un questionnaire (sondage)

I. MySQL : Serveur et SGBD

Maarch V1.4

TP base de données SQLite. 1 Différents choix possibles et choix de SQLite : 2 Définir une base de donnée avec SQLite Manager

Master Exploration Informatique des données DataWareHouse

Déploiement d'une application Visual Studio Lightswitch dans Windows Azure.

Corrigé de l'atelier pratique du module 3 : Récupération d'urgence

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

Sage 100 CRM Guide de l Import Plus avec Talend Version 8. Mise à jour : 2015 version 8

Comment faire un Mailing A partir d une feuille Calc

Historisation des données

1. Installation du Module

1. Base de données SQLite

Le Langage De Description De Données(LDD)

Installation d'un serveur FTP géré par une base de données MySQL

A QUOI SERVENT LES BASES DE DONNÉES?

La base de données dans ArtemiS SUITE

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

Whitepaper. Méthodologie de création de rapports personnalisés SQL Server Reporting Services

Sauvegarde des bases SQL Express

WINDOWS SHAREPOINT SERVICES 2007

Comment Créer une Base de Données Ab Initio

Sauvegarde d une base de données

Procédure d installation des logiciels EBP sous environnement MAGRET

DELEGATION ACADEMIQUE AU NUMERIQUE FORMATION ADMINISTRATEUR SCRIBE 2.3 ET CARTABLE EN LIGNE (CEL)

Attaques applicatives

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Paginer les données côté serveur, mettre en cache côté client

Economies d énergie par GPO

Reporting Services - Administration

SQL Historique

Création de Sous-Formulaires

Objet du document. Version document : 1.00

Introduction à la B.I. Avec SQL Server 2008

Table des matières 1 DISASTER RECOVERY SAUVEGARDER RESTAURER BASE DE DONNÉS "SUSPECT"... 28

LES NOUVEAUTES DE COST AND PROFITABILITY MANAGEMENT 8.1

MODULES 3D TAG CLOUD. Par GENIUS AOM

La Clé informatique. Formation Internet Explorer Aide-mémoire

SYNC FRAMEWORK AVEC SQLITE POUR APPLICATIONS WINDOWS STORE (WINRT) ET WINDOWS PHONE 8

TUTORIEL D INSTALLATION D ORACLE ET DE SQL DEVELOPPER TUTORIEL D INSTALLATION D ORACLE...1 ET DE SQL DEVELOPPER...1

PHP 5. La base de données MySql. A. Belaïd 1

Stockage du fichier dans une table mysql:

ADO.NET. Ado.net propose deux modes d'accès, le mode connecté et le mode déconnecté.

Notes de cours : bases de données distribuées et repliquées

INTRODUCTION AUX TESTS DE PERFORMANCE ET DE CHARGE

Installation d'une galerie photos Piwigo sous Microsoft Windows.


SQL Server Installation Center et SQL Server Management Studio

LANDPARK ACTIVE DIRECTORY OPEN/LDAP

Rokia Missaoui - UQO. INF4163 Hiver 2008

3 Octobre Les Communautés MS

Devoir Data WareHouse

Veeam Backup and Replication

Qu'est ce que le Cloud?

HAUTE DISPONIBILITÉ DE MACHINE VIRTUELLE AVEC HYPER-V 2012 R2 PARTIE CONFIGURATION OPENVPN SUR PFSENSE

Les déclencheurs. Version 1.0. Grégory CASANOVA

Les Triggers SQL. Didier DONSEZ. Université de Valenciennes Institut des Sciences et Techniques de Valenciennes

SQL Server administration SERVEUR DE BASES DE DONNEES OLIVIER D.

Transcription:

Table des matières 1 SSIS... 2 1.1 Management Studio... 2 1.2 dtswizard... 13 1.3 BIDS... 14 1.4 Exemple SSIS... 16 1.4.1 Introduction... 16 1.4.2 Création du package... 18 1.4.3 Paramétrage de la tâche SQL... 19 1.4.4 Configuration externe du package... 30 1.4.5 Écriture dans un fichier... 40 2011 Hakim Benameurlaine 1

1 SSIS SSIS, pour SQL Server Integration Services, est la méthode la plus robuste pour importer ou exporter des données. SSIS est le nouvel outil ETL de SQL Server 2008, et arrive en remplacement de DTS (Data Transformation Services), présent dans les versions précédentes. L emploi de SSIS est intéressant quand il s agit de transférer des données entre sources de données hétérogènes, et en plus, quand il faut leur appliquer des transformations. Il existe plusieurs façons d accéder à SSIS : 1.1 Management Studio Vous pouvez créer un package à partir de Management Studio en exécutant l assistant d import/export de données. Faire un clic-droit sur une base de données et choisir exporter ou importer des données, ensuite l assistant vous aide à la création d un package simple que vous pourrez ensuite exécuter. 2011 Hakim Benameurlaine 2

2011 Hakim Benameurlaine 3

2011 Hakim Benameurlaine 4

2011 Hakim Benameurlaine 5

2011 Hakim Benameurlaine 6

2011 Hakim Benameurlaine 7

2011 Hakim Benameurlaine 8

2011 Hakim Benameurlaine 9

2011 Hakim Benameurlaine 10

2011 Hakim Benameurlaine 11

2011 Hakim Benameurlaine 12

1.2 dtswizard A partir de l invite de commande, exécuter l utilitaire dtswizard.exe pour lancer l assistant précédent. 2011 Hakim Benameurlaine 13

1.3 BIDS A partir de Visual Studio ou de BIDS (BI Development Studio), vous permet accéder à toute la puissance de SSIS pour pouvoir créer des packages complets et fonctionnels. 2011 Hakim Benameurlaine 14

2011 Hakim Benameurlaine 15

1.4 Exemple SSIS 1.4.1 Introduction Dans cet exemple nous allons exporter les données de la base qui a le schéma suivant : USE FORMATION GO CREATE TABLE DEPARTEMENT (DeptID INT PRIMARY KEY, Nom VARCHAR(50), Location VARCHAR(50) ) CREATE TABLE EMPLOYE (EmpID INT PRIMARY KEY, Nom VARCHAR(50), Prenom VARCHAR(50), Salaire MONEY, DeptID INT REFERENCES DEPARTEMENT(DeptID) ) 2011 Hakim Benameurlaine 16

Pour chaque département nous allons générer un fichier de taille fixe contenant un entête décrivant le département et un corps contenant la liste des employés travaillant dans ce département. Pour accéder aux informations de la base de données nous avons créé deux procédures stockées : proc_dept : retourne la liste des départements. CREATE PROCEDURE proc_dept AS BEGIN SELECT DeptID, Nom, Location FROM Departement END proc_emp : retourne la liste des employés d un département donné. CREATE PROCEDURE proc_emp ( @DeptID int ) AS BEGIN SELECT EmpID, Nom, Prenom, Salaire FROM Employe WHERE DeptID = @DeptID END Dans le cas d'un échec elle aimerait que des informations soient loguées dans l'event log de Windows. 2011 Hakim Benameurlaine 17

1.4.2 Création du package Pour cela il suffit de lancer Visual Studio 2008 et de choisir un projet de type Integration Services : 2011 Hakim Benameurlaine 18

1.4.3 Paramétrage de la tâche SQL La première étape consiste à créer une tâche SQL pour récupérer la liste des équipes d'un projet donné (à terme les paramètres du projet cible seront fournis par un script externe). A partir du Toolbox ajouté une tâche Pour configurer cette tâche il suffit de sélectionner l'entrée Edit du menu contextuel : 2011 Hakim Benameurlaine 19

Le paramétrage consiste à : 1) Donner un nom 2011 Hakim Benameurlaine 20

2) Créer un alias sur la chaîne de connexion à la base de données en utilisant Connection Managers 2011 Hakim Benameurlaine 21

2011 Hakim Benameurlaine 22

Cliquer sur le bouton Test Connection pour tester la connexion : 2011 Hakim Benameurlaine 23

Une fois créée, celle-ci apparaît alors automatiquement dans la liste des gestionnaires de connexions au bas du designer : 3) Sélectionner la connexion à la base de données : 4) Préciser le nom de la procédure à appeler 5) Fournir l'identifiant du projet à la procédure stockée Pour cela nous avons besoin de créer une variable qui va stocké l'identifiant du projet cible : 2011 Hakim Benameurlaine 24

2011 Hakim Benameurlaine 25

2011 Hakim Benameurlaine 26

Cette nouvelle variable s'appelle DepartementID, est de type Int32 et a -1 pour valeur par défaut. 2011 Hakim Benameurlaine 27

6) Créer une variable pour accueillir les enregistrements retournés par la procédure stockée. La première chose à faire pour récupérer les enregistrements est de positionner l'entrée ResultSet du menu General à Full result set : Puis de créer dans l'entrée Result Set une variable nommée Empl de type Object : 2011 Hakim Benameurlaine 28

2011 Hakim Benameurlaine 29

1.4.4 Configuration externe du package Dans le paramétrage effectué jusqu'à présent la chaîne de connexion est «codée en dur» avec le nom de la machine et de la base cible. Pour déporter la valeur de certaines données dans un fichier de configuration externe il suffit de cliquer sur l'entrée Configurations du Package : 2011 Hakim Benameurlaine 30

Puis de choisir Enable package configurations et cliquer sur Add. Il suffit alors de se laisser guider par le wizard en choisissant une configuration de type XML Configuration File : 2011 Hakim Benameurlaine 31

2011 Hakim Benameurlaine 32

2011 Hakim Benameurlaine 33

Vous remarquerez que le fichier ne porte pas l'extension.config comme la plupart des projects.net mais.dtsconfig. La dernière étape du wizard consiste à sélectionner les variables à exporter dans le fichier de paramétrage. Dans notre cas le nom du serveur et du catalogue de la connection manager créée précédemment. 2011 Hakim Benameurlaine 34

La mise à jour de l'un de ces deux paramètres met automatiquement à jour la chaîne de connexion c'est pourquoi il n'est pas nécessaire de la mettre dans le fichier de configuration: 2011 Hakim Benameurlaine 35

Enfin vous aurez remarqué que le chemin qui pointe sur le fichier de configuration C:\SSIS\ProjetExport est codé en dur dans le package SSIS. Ceci est très gênant car le répertoire de la machine de développement et celui de la machine de production ne seront sûrement pas les mêmes. 2011 Hakim Benameurlaine 36

On va créer une variable d'environnement qui va pointer sur le fichier de configuration. Pour cela il suffit dans l'entrée Configurations des propriétés du package de demander la création d'une configuration de type XML «indirecte», pointée par une variable d'environnement : 2011 Hakim Benameurlaine 37

2011 Hakim Benameurlaine 38

Et voici le résultat final : 2011 Hakim Benameurlaine 39

1.4.5 Écriture dans un fichier Dans notre développement il manque l'étape qui juste avant l'exécution de la tâche SQL va générer l'entête du fichier de sortie. Les données de l'entête proviennent des paramètres fournis par le script qui orchestre l'export : Le nom du fichier de sortie L'identifiant du département Le nom du département La location du département Nous allons créer des variables pour accueillir les paramètres décrits cidessus. Pour voir la liste des variables du projet il suffit de sélectionner l'entrée Variables du menu contextuel : 2011 Hakim Benameurlaine 40

La liste apparaît au niveau de la Toolbox de Visual Strudio 2008, il suffit alors de créer les nouvelles variables comme suit : Pour la gestion de l'écriture des données dans un fichier nous allons utiliser un Data Flow Task qui va nous permettre de prendre les données à exporter, de les formater puis de les envoyer vers le fichier cible. Le choix de l'entrée Edit dans le menu contextuel du Data Flow Task nous emmène sur l'onglet Data Flow du designer. Ce dernier permet de gérer les flux de données. 2011 Hakim Benameurlaine 41

2011 Hakim Benameurlaine 42

A ce niveau nous allons ajouter un composant Script component de type Source, dont le rôle va être de créer la ligne à stocker dans le fichier : 2011 Hakim Benameurlaine 43

Le paramétrage de ce composant se fait par l'entrée Edit du menu contextuel. La configuration de l'enregistrement de sortie se fait comme présenté ci-dessous : 2011 Hakim Benameurlaine 44

2011 Hakim Benameurlaine 45

Puis il faut préciser les variables que l'on souhaite utiliser dans ce composant: Enfin il ne reste plus qu'à écrire le code de génération de la ligne de sortie. Pour développer ce code, on va utiliser VB.Net. Une variable <NomOutput>Buffer (dans notre cas Sortie0Buffer) est automatiquement créée et les variables que nous avons rendu visible à ce composant sont accessibles via la classe Variables qui est définit dans le fichier ComponentWrapper et qui en interne se contente d'appeler la méthode ReadOnlyVariables du composant. Public Class ScriptMain Inherits UserComponent Public Overrides Sub CreateNewOutputRows() ' 2011 Hakim Benameurlaine 46

' Add rows by calling AddRow method on member variable called "<Output Name>Buffer" ' E.g., MyOutputBuffer.AddRow() if your output was named "My Output" ' Me.Sortie0Buffer.AddRow() Me.Sortie0Buffer.AddRow() 'Me.Sortie0Buffer.Type = "P" Me.Sortie0Buffer.Nom = Me.Variables.DepartementNom Me.Sortie0Buffer.Location = Me.Variables.DepartementLocation End Sub End Class L'étape suivante consiste à envoyer ces données vers un fichier cible. Pour cela nous allons utiliser le composant Flat File Destination de la Toolbox. 2011 Hakim Benameurlaine 47

Faire le lien : Le paramétrage de ce dernier nécessite la création d'un File connection manager : Une fois que vous avez cliqué sur New choisissez le type Fixed width with row delimiter si vous voulez avoir un fichier avec des tailles fixes et qui va automatiquement à la ligne à chaque nouvel enregistrement (ce qui n'est pas le cas avec le type Fixed Width) : 2011 Hakim Benameurlaine 48

Ensuite il suffit de donner un nom de fichier (n'importe lequel pour le moment pourvu que le fichier existe) au file connection manager. 2011 Hakim Benameurlaine 49

2011 Hakim Benameurlaine 50

Enfin il ne reste plus qu'à faire le mapping entre les colonnes en entrée (provenant du Script Component) et en sortie (décrit par le File Connection Manager) : 2011 Hakim Benameurlaine 51