Préparation des données en vue d'une exportation ou d'une importation en bloc

Mis à jour : 15 septembre 2007

Cette section présente les points à prendre en considération lors de la planification d'opérations d'exportation en bloc et les contraintes liées aux opérations d'importation en bloc.

ms188609.note(fr-fr,SQL.90).gifRemarque :
Si vous n'êtes pas certain de savoir mettre en forme un fichier de données pour une importation en bloc, utilisez l'utilitaire bcp pour exporter des données de la table dans un fichier de données. La mise en forme de chaque champ de données dans ce fichier indique la mise en forme nécessaire pour importer des données en bloc dans la colonne de table correspondante. Utilisez la même mise en forme des données pour les champs de votre fichier de données.

Considérations sur le format du fichier de données pour l'exportation en bloc

Avant de réaliser une opération d'exportation en bloc à l'aide de la commande bcp, prenez en considération les points suivants :

  • Lorsque des données sont exportées vers un fichier, la commande bcp crée automatiquement le fichier de données en utilisant le nom de fichier spécifié. Si ce nom de fichier est déjà utilisé, les données en cours de copie en bloc dans le fichier de données remplacent le contenu existant de ce fichier.
  • L'exportation en bloc depuis une table ou une vue vers un fichier de données requiert l'existence d'une autorisation SELECT sur la table ou la vue qui fait l'objet d'une copie en bloc.
  • Microsoft SQL Server peut utiliser des analyses parallèles pour extraire les données. Par conséquent, il est possible que les lignes de la table exportées en bloc depuis une instance de SQL Server n'apparaissent pas dans un ordre spécifique dans le fichier de données. Pour que les lignes de la table exportées en bloc apparaissent dans un ordre spécifique dans le fichier de données, utilisez l'option queryout pour effectuer une exportation en bloc depuis une requête et spécifiez une clause. Pour plus d'informations, consultez Exportation de données à partir d'une requête vers un fichier de données.

Contraintes liées au format du fichier de données pour l'importation en bloc

Pour que les données puissent être importées depuis un fichier de données, celui-ci doit satisfaire aux conditions de base suivantes :

  • Les données doivent être organisées en lignes et en colonnes.
ms188609.note(fr-fr,SQL.90).gifRemarque :
La structure du fichier de données n'a pas besoin d'être identique à la structure de la table SQL Server, car les colonnes peuvent être ignorées ou réorganisées lors de l'importation en bloc.
  • Le format des données du fichier de données doit être un format pris en charge, par exemple le format caractère ou le format natif.
  • Le format des données peut être le format binaire natif ou caractère, notamment le format Unicode.
  • Pour importer des données à l'aide d'une commande bcp, d'une instruction BULK INSERT ou d'une instruction INSERT ... SELECT * FROM OPENROWSET(BULK...), la table de destination doit déjà exister.
  • Chaque champ du fichier de données doit être compatible avec la colonne correspondante de la table cible. Par exemple, un champ int ne peut pas être chargé dans une colonne datetime. Pour plus d'informations, consultez Utilisation des formats natif, caractère ou Unicode et Spécification de formats de données pour la compatibilité à l'aide de bcp.
    ms188609.note(fr-fr,SQL.90).gifRemarque :
    Pour spécifier un sous-ensemble de lignes à importer depuis un fichier de données au lieu de procéder avec le fichier entier, vous pouvez utiliser une commande bcp avec le commutateur -F first_row et/ou le commutateur -L last_row. Pour plus d'informations, consultez Utilitaire bcp.
  • Pour importer des données à partir de fichiers de données contenant des champs de longueur fixe ou de largeur fixe, utilisez un fichier de format. Pour plus d'informations, consultez Exemples de fichiers de format XML.
  • 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 ne doit pas obligatoirement être une virgule. Pour pouvoir être utilisé comme fichier de données pour une importation en bloc, un fichier CSV doit être conforme aux restrictions suivantes :
    • Les champs de données ne doivent jamais contenir la marque de fin de champ.
    • Aucun valeur ou toutes les valeurs d'un champ de données doivent être entre guillemets ("").
      Pour importer des données à partir d'un fichier de table Microsoft FoxPro ou Visual FoxPro (.dbf) ou d'un fichier de feuille de calcul Microsoft Excel (.xls), convertissez les données en fichier .CSV, dont l'extension de nom de fichier sera généralement .csv. Vous pouvez ensuite utiliser ce fichier .csv comme fichier de données dans une opération d'importation en bloc SQL Server.

En outre, l'importation en bloc de données depuis un fichier de données dans une table requiert le respect des points suivants :

  • Les utilisateurs doivent disposer des autorisations INSERT et SELECT sur la table. Les utilisateurs ont également besoin de l'autorisation ALTER TABLE lorsqu'ils utilisent des options qui impliquent des opérations DDL (Data Definition Language), par exemple la désactivation de contraintes.
  • Lorsque vous importez en bloc des données à l'aide de l'instruction BULK INSERT ou INSERT ... SELECT * FROM OPENROWSET(BULK...), le fichier de données doit être accessible pour les opérations de lecture par le profil de sécurité du processus SQL Server (si l'utilisateur se connecte à l'aide de la connexion fournie par SQL Server) ou par la connexion Microsoft Windows utilisée dans le cadre d'une délégation de sécurité. En outre, l'utilisateur doit disposer de l'autorisation ADMINISTER BULK OPERATIONS pour lire le fichier.
ms188609.note(fr-fr,SQL.90).gifRemarque :
L'importation en bloc dans une vue partitionnée n'est pas prise en charge et toute tentative en ce sens est vouée à l'échec.

Voir aussi

Concepts

Utilisation du format caractère pour importer ou exporter des données
Utilisation du format natif pour importer ou exporter des données
Description des fichiers de format XML

Autres ressources

Utilitaire bcp
BULK INSERT (Transact-SQL)
Types de données (Transact-SQL)
ExportData Method
ImportData Method

Aide et Informations

Assistance sur SQL Server 2005

Historique des modifications

Version Historique

15 septembre 2007

Contenu modifié :
  • Développement de la discussion sur la préparation d'un fichier CSV pour l'importation en bloc.

17 juillet 2006

Nouveau contenu :
  • Ajout d'une remarque à l'introduction.
  • Ajout d'une condition requise relative à l'importation de champs à largeur fixe ou à longueur fixe.

14 avril 2006

Nouveau contenu :
  • Ajout d'informations sur le format de fichier de données lors de l'importation de données d'une source en dehors de SQL Server.