Partager via


Assistant Importation d’un fichier plat dans SQL

S’applique à : SQL Server Azure SQL Database Azure SQL Managed Instance

Pour le contenu associé à l’Assistant Importation et exportation, consultez Importer et exporter des données avec l’Assistant Importation et exportation SQL Server.

L’Assistant Importation de fichier plat permet de copier les données d’un fichier plat (.csv ou .txt) dans une nouvelle table d’une base de données. L’Assistant Importation de fichier plat prend en charge les formats de fichiers de largeur fixe et séparés par des virgules. Cette présentation décrit les raisons d’utiliser cet Assistant et où le trouver, puis fournit un exemple simple à suivre.

Pourquoi utiliser cet Assistant ?

Cet Assistant a été créé pour améliorer l’expérience d’importation actuelle en tirant parti d’un framework intelligent appelé PROSE (Program Synthesis using Examples). Pour un utilisateur sans connaissance technique du domaine, l’importation de données peut souvent être une tâche complexe, sujette aux erreurs et fastidieuse. Avec cet Assistant, le processus d’importation se résume simplement à la sélection d’un fichier d’entrée et d’un nom unique de table, le framework PROSE s’occupe du reste.

PROSE analyse les modèles de données dans votre fichier d’entrée pour déduire les noms de colonnes, les types, les séparateurs, etc. Ce framework apprend la structure du fichier et gère tout le travail ingrat à la place des utilisateurs.

Prérequis

Cette fonctionnalité est disponible sur SQL Server Management Studio (SSMS) 17.3 ou version ultérieure. Assurez-vous d’utiliser la dernière version. Vous trouverez ici la dernière version.

Mise en route

Pour accéder à l’Assistant Importation d’un fichier plat, procédez comme suit :

  1. Ouvrez SQL Server Management Studio.
  2. Connectez-vous à une instance du Moteur de base de données SQL Server ou à un hôte local.
  3. Développez Bases de données, cliquez avec le bouton droit sur une base de données (test dans l’exemple suivant), pointez sur Tâches et sélectionnez Importer un fichier plat au-dessus de « Importer des données ».

Capture d’écran du menu Importer un fichier plat.

Pour en savoir plus sur les différentes fonctions de l’Assistant, suivez le tutoriel ci-dessous :

Didacticiel

Pour les besoins de ce didacticiel, n’hésitez pas à utiliser votre propre fichier plat. Sinon, ce tutoriel utilise le fichier CSV Excel suivant que vous êtes libre de copier. Si vous utilisez ce fichier CSV, nommez-le example.csv et enregistrez-le au format csv à un emplacement pratique comme votre Bureau.

Capture d’écran d’Excel.

Vue d’ensemble :

  1. Assistant Accès
  2. Spécifier le fichier d’entrée
  3. Aperçu des données
  4. Modifier les colonnes
  5. Résumé
  6. Résultats

Étape 1 : Accéder à l’Assistant et à la page d’introduction

Accédez à l’Assistant, comme décrit ici.

La première page de l’Assistant est la page d’accueil. Si vous ne souhaitez plus voir cette page, n’hésitez pas à sélectionner Ne plus afficher cette page de démarrage.

Capture d’écran du menu Introduction de l’Assistant Importer un fichier plat.

Étape 2 : Spécifier le fichier d’entrée

Sélectionnez Parcourir pour sélectionner votre fichier d’entrée. Par défaut, l’Assistant recherche les fichiers .csv et .txt. PROSE détecte s’il s’agit d’un format de fichier de largeur fixe ou séparé par des virgules, quelle que soit l’extension du fichier.

Le nouveau nom de table doit être unique. S’il ne l’est pas, l’Assistant ne vous autorise pas à aller plus loin.

Capture d’écran de l’Assistant Importer un fichier plat : Spécifier le fichier d’entrée.

Étape 3 : Prévisualiser les données

L’Assistant génère un aperçu où vous pouvez voir les 50 premières lignes. Si vous rencontrez des problèmes, sélectionnez Annuler, sinon passez à la page suivante.

Capture d’écran du menu Assistant Importer un fichier plat : Aperçu des données.

Étape 4 : Modifier les colonnes

L’Assistant identifie ce qu’il considère être les noms de colonnes, les types de données corrects, etc. Vous pouvez alors modifier les champs s’ils sont incorrects (par exemple, le type de données devrait être un flottant au lieu d’un int).

Les colonnes où sont détectées des valeurs vides ont l’option « Autoriser les valeurs NULL » cochée. Cependant, si vous attendiez des valeurs NULL dans une colonne et que l’option « Autoriser les valeurs NULL » n’est pas cochée, c’est ici que pouvez mettre à jour la définition de la table de façon à d’autoriser les valeurs NULL dans une ou toutes les colonnes.

Quand vous êtes prêt, poursuivez.

Capture d’écran du menu Assistant Importer un fichier plat : Modifier les colonnes.

Étape 5 : Résumé

Il s’agit simplement d’une page qui résume votre configuration actuelle. Si vous voyez des problèmes, vous pouvez revenir à des sections précédentes. Sinon, sélectionnez Terminer pour tenter le processus d’importation.

Capture d’écran du menu Assistant Importer un fichier plat : Résumé.

Étape 6 : Résultats

Cette page indique si l’importation a réussi. Si une coche verte s’affiche, elle a réussi. Dans le cas contraire, vous devrez peut-être rechercher des erreurs dans votre configuration ou votre fichier d’entrée.

Capture d’écran du menu Assistant Importer un fichier plat : Résultats.

Dépannage

L’Assistant Importation de fichier plat détecte les types de données en fonction des 200 premières lignes. Si d’autres données du fichier plat ne sont pas conformes aux types de données détectés automatiquement, une erreur se produit lors de l’importation. Le message d’erreur qui s’affiche est semblable au suivant :

Error inserting data into table. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type nvarchar of the specified target column. (System.Data)
String or binary data would be truncated. (System.Data)

Solutions pour corriger cette erreur :

  • Le développement des tailles de types de données à l’étape Modifier les colonnes, par exemple la longueur d’une colonne nvarchar, peut compenser les variations de données par rapport au reste du fichier plat.
  • La création de rapports d’erreurs à l’étape Modifier les colonnes, en particulier par un nombre plus petit, indique les lignes du fichier plat qui contiennent des données qui ne correspondent pas aux types de données sélectionnés. Par exemple, dans un fichier plat où la deuxième ligne contient une erreur, l’exécution de l’importation avec une création de rapports d’erreurs avec une plage de 1 génère un message d’erreur spécifique. L’examen du fichier directement à l’emplacement peut fournir des modifications plus ciblées sur les types de données en fonction des données contenues dans les lignes identifiées.

Capture d’écran d’une erreur dans les résultats de l’Assistant Importer un fichier plat.

Error inserting data into table occurred while inserting rows 1 - 2. (Microsoft.SqlServer.Prose.Import)
The given value of type String from the data source cannot be converted to type float of the specified target column. (System.Data)
Failed to convert parameter value from a String to a Double. (System.Data)

Actuellement, l’importateur utilise un encodage basé sur la page de code active du système. Sur la plupart des ordinateurs, cela est défini par défaut sur ANSI.

Découvrez-en plus sur l’Assistant.