Importation et exportation en bloc de données (SQL Server)

SQL Server prend en charge l'exportation en bloc de données (données en bloc) à partir d'une table SQL Server et l'importation en bloc de données dans une table SQL Server ou une vue non partitionnée. L'importation et l'exportation en bloc sont essentielles pour transférer efficacement des données entre SQL Server et des sources de données hétérogènes. L'exportation en bloc consiste à copier des données d'une table SQL Server vers un fichier de données. Le terme importation en bloc fait référence au chargement de données d'un fichier de données vers une table SQL Server. Par exemple, vous pouvez exporter des données d'une application Microsoft Excel vers un fichier de données, puis importer en bloc ces données dans une table SQL Server.

Dans cette rubrique :

  • Présentation des opérations d'exportation et d'importation en bloc

  • Tâches associées

Vue d'ensemble de l'importation et de l'exportation en bloc

Cette section répertorie et compare brièvement les diverses méthodes disponibles pour l'importation et l'exportation de données en bloc. La section présente également des fichiers de format.

Dans cette rubrique :

  • Méthodes pour l'importation et l'exportation de données en bloc

  • Fichiers de format

Méthodes pour l'importation et l'exportation de données en bloc

SQL Server prend en charge l'exportation en bloc de données à partir d'une table SQL Server et l'importation en bloc de données dans une table ou une vue non partitionnée SQL Server. Les méthodes de base disponibles sont les suivantes.

Méthode

Description

Importe les données

Exporte les données

Utilitaire bcp

Utilitaire en ligne de commande (Bcp.exe) qui exporte et importe en bloc des données et génère des fichiers de format.

Oui

Oui

Instruction BULK INSERT

Instruction Transact-SQL qui importe des données directement d'un fichier de données dans une table de base de données ou une vue non partitionnée.

Oui

Non

INSERT ... Instruction SELECT * FROM OPENROWSET(BULK...)

Instruction Transact-SQL qui utilise le fournisseur d'ensembles de lignes OPENROWSET pour importer en bloc des données dans une table SQL Server en spécifiant la fonction OPENROWSET(BULK…) afin de sélectionner des données dans une instruction INSERT. 

Oui

Non

Important

Les fichiers de valeurs séparées par des virgules (CSV, Comma-Separated Value) ne sont pas pris en charge par les opérations d'importation en bloc SQL Server. Toutefois, dans certains cas, un fichier CSV peut être utilisé comme fichier de données pour une importation en bloc de données dans SQL Server. Notez que la marque de fin de champ d'un fichier CSV n'est pas nécessairement une virgule. Pour plus d'informations, consultez Préparer des données en vue d'une exportation ou d'une importation en bloc (SQL Server).

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Fichiers de format

L'utilitaire bcp, et les commandes BULK INSERT et INSERT ... SELECT * FROM OPENROWSET(BULK...) gèrent tous l'utilisation d'un fichier de format spécialisé qui stocke les informations de format de chaque champ dans un fichier de données. Un fichier de format peut également contenir des informations sur la table SQL Server correspondante. Le fichier de format peut être utilisé pour fournir toutes les informations de format nécessaires pour exporter en bloc des données à partir d'une instance de SQL Server et pour importer en bloc des données vers une instance du même type.

Les fichiers de format procurent une souplesse qui permet d'une part l'interprétation des données tel qu'elles existent dans le fichier de données au moment de l'importation, et d'autre part le formatage des données dans le fichier de données au moment de l'exportation. Cette souplesse vous dispense d'écrire un code spécial en vue d'interpréter ou de reformater les données en fonction des exigences spécifiques de SQL Server ou de l'application externe. Ainsi, si les données exportées en bloc doivent être chargées dans une application nécessitant des valeurs séparées par une virgule, vous pouvez utiliser un fichier de format pour insérer des virgules comme terminateurs de champ dans les données exportées.

SQL Server 2012 prend en charge deux types de fichiers de format : XML et non-XML. Les fichiers de format non-XML sont pris en charge par les versions antérieures de SQL Server ; les fichiers de format XML constituaient une nouveauté de SQL Server 2005.

Le seul outil capable de générer un fichier de format est l'utilitaire bcp. Pour plus d'informations, consultez Créer un fichier de format (SQL Server). Pour plus d'informations sur les fichiers de format, consultez Fichiers de format pour l'importation ou l'exportation de données (SQL Server)

[!REMARQUE]

Si, à l'occasion d'une opération d'exportation ou d'importation en bloc, aucun fichier de format n'est fourni, vous pouvez choisir de remplacer le formatage par défaut via la ligne de commande.

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Tâches associées

Pour utiliser un fichier de format

Pour utiliser des formats de données pour l'importation ou l'exportation en bloc

Pour spécifier des formats de données pour la compatibilité lors de l'utilisation de bcp

  1. Spécifier des indicateurs de fin de champ et de fin de ligne (SQL Server)

  2. Spécifier une longueur de préfixe dans des fichiers de données à l'aide de bcp (SQL Server)

  3. Spécifier le type de stockage de fichiers à l'aide de bcp (SQL Server)

Icône de flèche utilisée avec le lien Retour en haut[Haut de la page]

Voir aussi

Référence

Exécution du chargement en masse de données XML (SQLXML 4.0)

Utilitaire bcp

BULK INSERT (Transact-SQL)

OPENROWSET (Transact-SQL)

Concepts

Conditions requises pour une journalisation minimale dans l'importation en bloc

Fichiers de format pour l'importation ou l'exportation de données (SQL Server)

Exemples d'importation et d'exportation en bloc de documents XML (SQL Server)

SQL Server Integration Services

Copier des bases de données sur d'autres serveurs

Exécution d'opérations de copie en bloc

Fichiers de format pour l'importation ou l'exportation de données (SQL Server)