bd-cours7-amrani
bd-cours7-amrani
bd-cours7-amrani
L’importation et l’exportation de
données
1. Introduction
L’importation des données consiste à récupérer des données depuis une source
extérieure à SQL Server (fichier ASCII, base Access,…) et à stocker ces données dans
une ou plusieurs tables d’une base SQL Server. L’exportation représente l’opération
inverse, le contenu d’une table, ou le résultat d’une requête est projeté dans un fichier
ASCII, ou directement dans une base Access par exemple.
L’importation peut, parfois, être une opération réalisée régulièrement. C’est le cas
notamment lorsque la base SQL sert à éditer des analyses sur des données stockées sur
des systèmes différents.
Les opérations d’exportation sont moins fréquentes, mais elles restent une solution
idéale lorsqu’un utilisateur souhaite établir des calculs sur les données en travaillant en
mode déconnecté.
Outil d’import/export
SQL Server fournit des outils pour réaliser les importations/exportations, adaptés à
différents cas d’utilisation. On cite, le BCP, le Bulk Insert, le DTS (Data
Transformation Services) et le SSIS.
2. L’utilitaire BCP
BCP (Bulk Copy Program) est un puissant utilitaire en ligne de commande. Il est utilisé
lorsque le volume des transferts entre fichiers texte et base SQL Server est important.
BCP permet d’exporter les données d’une table ou d’une requête SQL vers un fichier
texte ou bien d’importer un fichier texte dans une table. Lors de l’utilisation il est
nécessaire de préciser la source et la destination des données, ainsi qu’un nom
d’utilisateur et un mot de passe pour se connecter au serveur.
Lors de l’étape d’importation, il faut que l’utilisateur soit membre du rôle : db_owner
{ in | out | queryout | format }
in : operation d’import
out: operation d’export
queryout: une requête est spécifiée au lieu d’un nom d’objet
format: permet de créer un fichier de format suivant les options spécifiées, l’option f
pourra être utilisée
Exemples :
C:\>BCP Northwind..Products out c:\tests\pubs.txt -c -SSERVEUR –T
(ou au lieu de -T: -Uuser1 -Ppass)
Starting copy...
Starting copy...
Starting copy...
2 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.): total 1
C:\>
Starting copy...
1 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.): total 1
Exemple :
bulk insert test5..produit from 'c:\tests\produit1.txt' with (datafiletype='char')
aussi: bulk insert test5..produit from 'c:\tests\produit1.txt' with (fieldterminator= ' “ ” ')
déclencheurs associés à la table, les lignes de données sont bien sûr transférées. Il est
également possible de transférer des procédure stockées ou des vues.
Transformations
5. Les lots
Lors de l’utilisation de DTS, il y a toujours création d’un lot. Ce lot permet de
regrouper les renseignements concernant la source et la destination des données. En
plus, le lot contient toutes les étapes du travail à réaliser entre la source et la
destination. Un même lot peut comporter des tâches de différentes natures.
7. Concepteur DTS
Le concepteur DTS permet de bien concevoir des lots DTS et également de modifier
des lots existants.
− Un lot stocké dans msdb ou le repository peut être chargé :
8. Concepteur SSIS
Le concepteur SSIS est un outil graphique permettant de créer et de gérer des packages
Microsoft SQL Server 2005 Integration Services (SSIS). Il est disponible dans Business
Intelligence Development Studio en tant qu'élément d'un projet Integration Services. Le
SSIS est l’outil qui a remplacé le DTS en SQL Server 2000.
On peut utiliser le concepteur SSIS pour effectuer les tâches suivantes :
− construire le flux de contrôle dans un package ;
− construire les flux de données dans un package ;
− ajouter des gestionnaires d'événements au package et aux objets du package ;
− afficher le contenu du package ;
− lors de l'exécution, afficher la progression de l'exécution du package.
Le concepteur SSIS comprend quatre onglets permanents : un pour créer le flux de
contrôle du package, un pour créer les flux de données, un pour créer les gestionnaires
d'événements et un pour afficher le contenu du package. Au moment de l'exécution, un
cinquième onglet apparaît pour indiquer la progression de l'exécution d'un package et
les résultats de l'exécution une fois celle-ci terminée.
Par ailleurs, le concepteur SSIS contient une zone nommée Gestionnaires de
connexions qui permet d'ajouter et de configurer les gestionnaires de connexions
utilisés par un package pour se connecter aux données.
Pour créer un package, il faut d’abord lancer le service : SQL Server Integration
Services, puis lancer : SQL Server Business Intelligence Development Studio, et
ensuite créer un projet du type : Integration Services Project.
Les flux de contrôle et de données d'un package sont choisis parmi les éléments de la
Boîte à outils, et sont glissés vers la surface de dessin. Une fois le package réalisé, on
procède à son exécution.
− Entreprise Manager :
Nom de la base de données Toutes les tâches Détacher la base de données
− Entreprise Manager :
Bases de données Toutes les tâches Attacher une base de données