Assistant Importation d’un fichier plat dans SQL

S’applique à :SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Pour tout contenu associé à l’Assistant Importation et exportation, consultez 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. Veillez à utiliser la version la plus récente. 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 ci-dessous), pointez sur Tâches et cliquez sur Importer un fichier plat au-dessus de « Importer des données ».

Wizard menu

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

Wizard Excel

Présentation :

  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 à cliquer sur Ne plus afficher cette page de démarrage.

Wizard Intro

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

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

Wizard Specify

É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, cliquez sur Annuler, sinon passez à la page suivante.

Wizard Preview

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

Wizard Modify

É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, cliquez sur Terminer pour tenter le processus d’importation.

Wizard Summary

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

Wizard Results

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 de la ou 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 la ou 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.

Error Reporting Results

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.

En savoir plus

Découvrez-en plus sur l’Assistant.