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 :
- Ouvrez SQL Server Management Studio.
- Connectez-vous à une instance du Moteur de base de données SQL Server ou à un hôte local.
- 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 ».
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.
Vue d’ensemble :
- Assistant Accès
- Spécifier le fichier d’entrée
- Aperçu des données
- Modifier les colonnes
- Résumé
- 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.
É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.
É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.
É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.
É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.
É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.
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.
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.
Contenu connexe
Découvrez-en plus sur l’Assistant.
- En savoir plus sur l’importation d’autres sources. Si vous souhaitez importer autre chose que des fichiers plats, consultez Importer et exporter des données avec l’Assistant Importation et exportation SQL Server.
- En savoir plus sur la connexion à des sources de fichiers plats. Si vous recherchez plus d’informations sur la connexion à des sources de fichiers plats, consultez Se connecter à une source de données de fichiers plats (Assistant Importation et exportation SQL Server).
- En savoir plus sur PROSE. Si vous recherchez une vue d’ensemble du framework intelligent utilisé par cet Assistant, consultez PROSE SDK.