Articles high-tech taggés "etl"

Fil des billets - Fil des commentaires

Utiliser un script C# pour Zipper ou Dézipper des fichiers dans un package SSIS

Pour compresser des fichiers sous SSIS nous disposons du composant Script qui permet d'implémenter la bibliothèque System.IO.Compression en C#. Dans ce post nous verrons comment compresser et / ou decompresser (ZIP / UNZIP) des fichiers en C#. Les bibliothèques natives C# zippent en .gz donc le format de destination sera du GZ.

Nous avons vu ensemble qu'il est possible d'utiliser un composant / exécutable externe comme dans ce post avec 7zip : Compresser ou décompresser des fichiers dynamiquement avec Seven Zip (7zip) sous SSIS

L'exemple utilise du code C# avec les librairies System.IO.Compression dans un objet de type Script Component

// Ajouter les classes spécifiques du framework .NET en plus des classes standards utilisées dans le composant Script SSIS using System; using System.IO; using System.IO.Compression; // Création de la fonction // Le code de la fonction est à placer juste avant la fonction principale Main du script C# (dans le composant SSIS) public void Compresser_Fichier(string Nom_De_Fichier) { using (FileStream Flux_Fichier = new FileStream(Nom_De_Fichier + ".gz", FileMode.Create, FileAccess.Write,...

Lire la suite

Comment compresser ou décompresser des fichiers dans un package SSIS avec 7zip.exe (7Z)

La compression en fichier.zip (ou .gz ou 7z ou tout autre format de compression connu :-), n'est pas installée dans les différentes options natives de SSIS, cependant plusieurs s'offrent au développeur décisionnel qui souhaite compresser des fichiers, comme des sauvegardes par exemple (.fichiers .BAK ou fichiers .TRN).

Mais éventuellement des fichiers de bases de données (.MDF fichier primaire ou .LDF fichier secondaire) ou tout simplement des fichiers de données (.XLS, .XLSX, .CSV, .DOC, .TXT, .DOCX, .XML, .HTML, .PDF, .XLA, .ODS, etc., la liste est longue je m'arrête donc là !).

Plusieurs solutions sont enviseagables pour compresser / décompresser des fichiers avec un outil tiers. Toutes ces étapes sont à faire dans un package SSIS créé au préalable dans une solution à l'aide de BIDS.

1 - Pour commencer télécharger et installer 7zip : http://www.7-zip.org/download.html 2 - Utiliser un outil tiers via une ligne de commande (exemple avec 7zip) Via le composant Execute Task Component (Tâche d'exécution de processus) de SSIS, il est possible d'appeler n'importe quel fichier .bat contenant des commandes MS-DOS. Variante A : Via une commande MS-DOS, écrire directement le texte de la commande dans le composant sous BIDS, comme ceci : Note : Cette commande utilise l'utilitaire 7zip,...

Lire la suite

Créer une pause dans un flux de contrôle SSIS

Ce petit projet Codeplex permet de créer une pause ou d'attendre un certain moment dans la journée pour continuer le flux de contrôle et exécuter les autres actions prévues dans le package SSIS.

Il n'existe pas de composant natif SSIS pour attendre un moment avant de passer à la tâche suivante, une des alternatives est d'utiliser le composant de SCRIPT et de créer une boucle en C# sous SSIS 2008 ou en VB sous SSIS 2005. Ce composant permet donc en quelques clics de paramétrer 2 options : ElapsedTime pour paramétrer le nombre de millisecondes à attendre avant de passer à l'étape suivante UntilTime pour renseigner l'heure d'attente avant de passer à la suite des évènements Ce composant...

Lire la suite

Liste de toutes les erreurs SSIS - SQL Server 2008 R2

Les erreurs SSIS sont nombreuses et parfois difficiles à interpréter, que ce soit en lançant les packages SSIS l'Agent SQL Server, depuis une ligne de commande avec la commande dtexec.exe ou depuis Visual Studio.

Ce petit post trés modeste vous expose simplement des pages que les développeurs SSIS connaissent très bien au début de leur apprentissage.

Une fois confirmés, les personnes utilisant Microsoft SSIS pour intégrer des données ne se réfèrent plus au site officiel de Microsoft car toutes les erreurs reviennent et sont connues.

De plus, un message plus ou moins explicite est écrit dans le journal - log - d'exécution du package SSIS (fichier .dtsx basé sur du XML) , ce qui permet au développeur de débugger le package.

La liste complète des erreurs retournées par SSIS comprenant les erreurs de types : Messages d'erreur avec le préfixe DTS_E_* Messages d'avertissement ou warnings avec le préfixe DTS_W_* Messages d'information avec le préfixe DTS_I_* Messages généraux et d'événement avec le préfixe DTS_MSG_* Messages de réussite avec le préfixe DTS_S_* Messages d'erreur des composants de flux de données avec le préfixe DTSBC_E_*...

Lire la suite

SSIS - comment éditer ou modifier un fichier de configuration .DtsConfig facilement ?

Comment éditer un fichier de configuration SSIS facilement .dtsconfig ? Astuce SSIS. L'édition des fichiers de configurations SSIS (c'est à dire un fichier .dtsConfig) est relativement difficile en raison du format du fichier.
En effet lorsque nous ouvrons un fichier de configuration avec un éditeur de texte classique (le bloc-notes de Windows, Notepad++ ou Application MFC Wordpad pour ne citer qu'eux) nous retrouvons tous les éléments qui composent le fichier XML sur une seule et unique ligne de texte, c'est un peu embêtant !!!

Les fichiers de configuration sont la base de la gestion de package SSIS sous SQL Server , et permettent de valoriser des variables SSIS de façon dynamique. Ces astuces SSIS d'édition de texte ne s' applique pas seulement aux fichiers de configuration SSIS bien sur mais à tout fichier XML qui n'aurait pas les retours à la ligne. Voici 2 solutions ou astuces pour mettre à plat un fichier de configuration XML SSIS (extension .dtsconfig) ou n'importe quel fichier XML d'ailleurs ! soit avec...

Lire la suite

Comment charger une plage de cellules depuis un fichier Excel avec SSIS ?

Nous avons vu dans le billet précédent comment ignorer les première lignes du fichier Excel à charger avec SQL Server Integration Services.

Pour charger une plage bien définie de cellules Excel (2003) il est parfaitement possible de cibler une plage bien définie. Par contre cette plage devra être contiguë, c'est à dire que les cellules se toucheront forcement.

Pour pouvoir charger une plage de cellules séparées ou uniquement certaines cellules particulières il faudra passer par un développement de flux SSIS spécifique qui traitera chaque plage séparément.

Pour charger une plage particulière il faut utiliser une requête de ce genre : Cet exemple de requête SQL permet de récupérer toutes les cellules de la colonne A jusqu'à la colonne D, à partir de la 3ème à la 10ème ligne du fichier Excel à charger dans SSIS : SELECT * FROM [Feuil1$A3:D10] Ce deuxième exemple de requête SQL permet de récupérer toutes les cellules NON NULLES de la colonne A jusqu'à la colonne D, à partir de la 3ème à la 10ème ligne du fichier Excel à charger dans SSIS : SELECT *...

Lire la suite

- page 1 de 2

Suivez le blog high-tech

  • Logo Twitter
  • Logo Facebook
  • Logo Youtube
  • Logo Fil RSS