Détecter le type de données Excel avec SSIS

Détecter le type de données des colonnes Excel avec SSIS et éviter les erreurs d’intégration.

L’intégration des fichiers Excel via SSIS vous oblige à figer le type de données dans le composant OLEDB. En effet, le type de données Excel est déterminé dans SSIS par un échantillonnage des 8 premières lignes. Et ce depuis la colonne par défaut dans le composant OLEDB pour les sources Excel. 

Gérer le type de données Excel détectés avec SSIS

Donc, le but est d’intégrer un fichier avec le format qui correspond à la source. Il vous faudra faire en sorte que les premières lignes du fichier soient dans un type compatible.

La détection du type de colonne Excel se fait par échantillonnage des données

Notez que par défaut, le nombre de lignes échantillonnées est de 8. Il est toutefois possible de modifier le nombre de lignes échantillonnées par le driver Excel.

En effet, pour changer le nombre de lignes échantillonnées par le driver Excel Access Database Engine 12.0, changer la clef de registre comme ci-dessous:

  1. Ouvrir l’éditeur de registre, pour ce faire, aller dans le menu démarrer, taper regedit.
  2. Rendez vous dans HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel 
  3. Changer la valeur de la clef appelée TypeGuessRows. Vous pouvez entrer des valeurs pour TypeGuessRows uniquement comprises entre 0 à 16 en décimal.

Erreurs de chargements de fichiers Excel avec SSIS

Premièrement, l’erreur la plus récurrente est de tenter d’intégrer un fichier Excel ayant des colonnes avec des chaînes supérieures à 255 caractères.

Par exemple, les lignes échantillonnées ne contiennent aucune chaîne avec une longueur supérieure à 255 caractères. Alors le type de données détecté par SSIS dans le fichier Excel qui sera assigné à la colonne est : DT_WSTR(255) et non pas N_TEXT. De plus, la totalité des lignes avec une longueur supérieure à 255 caractères seront tronquées.

Erreur d’intégration d’une colonne Excel avec chaînes de caractères et chiffres

Une autre erreur classique lorsque vous intégrez des fichiers Excel est la détection du type DT_NUMERIC au lieu du type DT_WSTR.

Par exemple, si la colonne Excel contient des centaines ou des milliers de lignes. Avec des chiffres et des caractères, mais que les 16 premières lignes ne contiennent que des valeurs numériques. Le système SSIS l’interprète alors comme une colonne numérique.

Le tutoriel SSIS ci-dessous explique comment charger un fichier Excel dans une base de données SQL Server avec un package SSIS.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*