bd-cours7-amrani

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 6

Prof. C.

EL AMRANI Bases de données Avancées

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é.

SQL Server fournit plusieurs outils d’importation et d’exportation, afin de pouvoir


réaliser ces opérations entre des sources ODBC, OLE DB, feuilles de calcul Excel,
fichiers textes ASCII.

Outil d’import/export

Présentation des transferts de données

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.

Prof. C.EL AMRANI Administration SQL Server


2 L’importation et l’exportation de données

Le choix d’un outil dépend d’un certain nombre de critères :


− Le format des données
− L’emplacement des données
− La fréquence de l’opération
− L’utilisation de lignes de commande ou d’une interface graphique
− Les performances

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.

Les options les plus utilisés :


-S : nom du serveur
-T : authentification Windows
-U : nom de connexion
-P : mot de passe

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...

C:\>BCP "select ProductName,UnitsInStock from Northwind..Products" queryout


c:\tests\pubs1.txt
-c -SSERVEUR -T

Starting copy...

out avec création d'un fichier de format

C:\>BCP test5..produit out c:\tests\produit.txt -SSERVEUR -T

Enter the file storage type of field idproduit [int]:


Enter prefix-length of field idproduit [0]:

Prof. C.EL AMRANI Administration SQL Server


3 L’importation et l’exportation de données

Enter field terminator [none]: ,

Enter the file storage type of field libproduit [char]:


Enter prefix-length of field libprodui [0]:
Enter length of field libprodui [20]:
Enter field terminator [none]: ,

Do you want to save this format information in a file? [Y/n] Y


Host filename [bcp.fmt]: c:\tests\produit.fmt

Starting copy...

2 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.): total 1

C:\>

in avec le fichier de format

C:\>BCP test5..produit in "c:\tests\produit.txt" –f "c:\tests\produit.fmt" -SSERVEUR -T

Starting copy...

1 rows copied.
Network packet size (bytes): 4096
Clock Time (ms.): total 1

3. L’utilitaire Bulk Insert


Bulk Insert permet d’importer des données depuis un fichier vers SQL Server.

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= ' “ ” ')

4. Les services DTS


Les services de transformation de données DTS (Data Transformation Services)
permettent d’importer, d’exporter et de transformer des données entre plusieurs sources
hétérogènes. DTS s’appuie sur une architecture OLE DB pour fournir cet accès à des
sources de données hétérogènes. DTS est aussi capable de travailler avec une base qui
dispose d’un simple pilote ODBC.
En plus, les DTS permettent :
− Réalisation d’insertions rapides
− Création de transformations personnalisées
− Transfert d’objets entre des sources SQL Server. La table peut être transférée avec
ses définitions d’index, de règles, de contraintes, de valeurs par défaut et de

Prof. C.EL AMRANI Administration SQL Server


4 L’importation et l’exportation de données

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

Source DTS Destination

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.

6. Assistants d’importation et d’exportation


Les principales fonctions proposées par l’assistant sont :
− Le transfert de données entre des bases hétérogènes
− Le transfert d’objets entre deux bases SQL Server
− La création d’une table dans la base de destination qui va recevoir les données
retournées par une commande SELECT
− La transformation des données d’une façon interactive
Lancer l’assistant avec :
- Entreprise Manager : Outils  Assistants
- Ligne de commande : C:\>dtswiz /X /I /SSERVEUR
Avec :
/X : Exportation depuis SQL Server
/I : Importation vers SQL Server
/S : Nom du Serveur SQL
- Cliquer droit sur la Base de donnée -> Tasks -> Import Data
Exemple :
- Créer un fichier Excel
- Créer une BD
- BD -> Tasks -> Import Data
- Indiquer la source et la destination
- Indiquer le nom du fichier et de la feuille du fichier Excel
- On peut changer, par après, le nom et/ou le type des champs de la table créée par
importation

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é :

Prof. C.EL AMRANI Administration SQL Server


5 L’importation et l’exportation de données

Services de transformation de données  Lots locaux


− Un lot enregistré dans un fichier :
Services de transformation de données  Toutes les tâches  Ouvrir le lot
− Mise en œuvre :
Dans le concepteur DTS (interface graphique), il faut positionner des éléments (les
étapes) dans le lot puis de les paramétrer. Ensuite il faut définir les enchaînements
entre les étapes
− Configuration de la tâche :

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.

Prof. C.EL AMRANI Administration SQL Server


6 L’importation et l’exportation de données

9. Attacher et détacher une base de données


Dans SQL Server, une base de données est constituée de fichiers journaux et de fichiers
de données. Ces fichiers sont référencés dans la base Master comme étant les éléments
constitutifs de la base de données.
Pour faciliter le transfert d’une base d’un serveur à un autre, ou bien d’une instance de
SQL Server à une autre, voire simplement pour cesser de travailler temporairement
avec la base, il est possible de la détacher puis de la rattacher. L’opération de
détachement d’une base consiste simplement à supprimer les références de la base
depuis le serveur sans toucher au fichier constitutif de la base. Les fichiers peuvent
alors être déplacés vers une autre instance SQL Server. La base de données
correspondante sera de nouveau accessible après l’opération d’attachement.

9.1. Détacher une base de données


− Transact SQL :
use master
exec sp_detach_db nom_base

− Entreprise Manager :
Nom de la base de données  Toutes les tâches  Détacher la base de données

9.2. Attacher une base de données


− Transact SQL :
use master
exec sp_attach_db nom_base

− Entreprise Manager :
Bases de données  Toutes les tâches  Attacher une base de données

Prof. C.EL AMRANI Administration SQL Server

Vous aimerez peut-être aussi