Charger un fichier texte avec SSIS dans une base SQL

Comment charger un fichier texte avec SSIS dans une base SQL ? C’est possible avec la suite Microsoft Business Intelligence et Microsoft Integration services en particulier. Très souvent, les projets d’intégration de données nécessitent de charger des données depuis des fichiers plats. Soit des fichiers CSV, TXT, bruts ou encore sous d’autres formats moins courant. Ce tutoriel SSIS pratique explique comment charger un fichier plat avec SSIS.

 

Comment charger un fichier texte dans une base SQL Server avec SSIS ?

Le chargement des données depuis un fichier texte vers une table SQL Server se fait en deux étapes.

En effet, commencer par paramétrer de la connexion au fichier texte, depuis son emplacement sur le disque. Ensuite, paramétrer la destination et la connexion à la base de données pour charger toutes les lignes contenues dans le fichier. 

 

Première étape du chargement est de paramétrer les composants SSIS

Cette étape permet de gérer la source et la connexion au fichier plat à charger dans la base de données SQL Server.

1 – Pour importer un fichier avec SSIS, ouvrir Microsoft Visual studio et créer un nouveau projet SSIS. Ensuite, cliquer sur Business Intelligence puis sur Integration Services.

Note: Les projets Microsoft BI se créent dans une solution SSIS. Sur cette capture d’écran, la création du projet créé automatiquement la solution et un dossier pour cette dernière.

Nouveau projet pour charger un fichier texte avec SSIS dans une base SQL

 

2 – Un package est créé, si ce n’est pas le cas alors faire un clic droit et ajouter un nouveau package au projet. Depuis l’espace de travail Visual Studio, dans la boîte à outils qui se trouve à gauche. Sélectionner Data flow Task et le glisser sur l’espace de travail puis double-cliquer dessus.

Nouveau flux de données SSIS pour charger un fichier texte dans une base SQL

 

3 – Dans la boîte à outils SSIS, sélectionner maintenant Flat File Source (Source de fichier plat) et le faire glisser sur l’espace de travail, puis double-cliquer dessus.

 

4 – La fenêtre Flat File Source editor s’ouvrira, cliquer sur New puis sur Browse et choisir le fichier plat à charger avec SSIS. Dans notre cas ce sera un fichier simple, avec seulement deux colonnes et avec un séparateur “point-virgule” : c’est à dire le caractère « ; »

 

5 – Une fois le fichier choisie, cliquer sur l’onglet Columns. Noter que le gestionnaire de connexion détecte le séparateur des colonnes automatiquement.

 

6 – Cliquer ensuite sur l’onglet Advanced. Ensuite, renommer les colonnes et leur attribuer un type de données. Dans le cas présent, les colonnes contiennent du texte, nous attribuerons comme type de données Text Stream [DT_TEXT].

Note importante: les noms et les types de données de vos colonnes doivent correspondre aux noms et aux types de données de vos colonnes dans la base de données, ce qui facilitera le mapping des données dans SSIS.

 

 

Deuxième étape du chargement du fichier texte: le paramétrage de la base de données

En effet la configuration de la base cible permet de charger les données avec le bon format. C’est à dire un format compatible avec les données du fichier plat.

 

7 – Valider les deux fenêtres puis dans l’onglet Data Flow Destination. Faire glisser le type de destination dans lequel charger le fichier plat. Dans ce cas, c’est une base de données SQL Server. Choisir l’option SQL Server Destination. Puis relier le composant Flat File source au composant SQL Server Destination à l’aide de la flèche verte.

paramétrer le composant SSIS fichier source pour charger les données dans la table SQL

 

8 – Ensuite double-cliquer sur SQL Server Destination. Puis dans l’onglet New, choisir la base de données et la table dans laquelle charger le fichier.

 

9 – Paramétrer le mappage des données dans l’onglet Mappings pour vérifier que les colonnes du fichier plat et de la table SQL Server correspondent bien.

 

10 – Valider ensuite la fenêtre. Puis retourner dans l’onglet Control Flow et faire un clic droit sur Data Flow Task et cliquer enfin sur Exectute Task

Exécuter le lux de données SSIS pour charger le fichier dans la table SQL

11 – La tâche Data Flow Task devient verte. Ce qui signifie que le chargement s’est bien passé. Les données du fichier plat se trouvent également dans la base de données.

Le flux de données SSIS pour charger le fichier dans la table SQL est en succès

Pour finir, exécuter une requête SELECT pour vérifier les données chargées dans la base.

Cet exemple permet donc de charger facilement un fichier texte dans une base SQL Server avec SSIS. Voici comment charger plusieurs fichiers plats dans une base avec une boucle SSIS (composant For Each File).

Soyez le premier à commenter

Laisser un commentaire