Articles high-tech taggés "microsoft-ssis"

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

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

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

Comment ignorer les premières lignes dans un fichier excel avec SSIS 2005 ou SSIS 2008?

Le chargement de fichiers Excel avec SSIS permet d'utiliser 2 modes, soit les paramètres par défaut en se connectant à une des feuilles excel du fichier soit en tapant une requête pour sélectionner des plages particulières. Par défaut le composant source Excel prendra toutes les lignes du fichier.

Pour ignorer certaines lignes du fichier Excel à charger nous pouvons utiliser les requêtes suivantes :

Ces exemples de requêtes SQL prendront toutes les lignes non vides à partir de la 3ème ligne du fichier excel à charger dans SSIS :


Il suffit de renseigner une requête SQL de ce genre :
SELECT * FROM [Feuil1$A3:D]

Une autre syntaxe : SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=C:\Temp\Test2.xls;HDR=yes', 'SELECT * FROM [Feuil1$A3:D]')...

Lire la suite

Comment détecter le dépôt d'un fichier avec SSIS 2005 ou 2008 ? Konesans File Watcher Task

SSIS ne contient pas de composant natif qui permet la détection de dépôt de fichiers pour le lancement d'une tâche. Cependant la société Konesans à développer un composant gratuit : Konesans File Watcher Task

Konesans File Watcher Task permet à la façon des boucles "FOR EACH File" des packages SSIS de scanner un dossier en attente d'un dépôt, en filtrant sur le nom de fichier (*.*) permis ou sur un filtre plus précis.
Il permet en plus d'attendre le dépôt pour lancer la suite des opérations et permet donc un ordonnancement des traitements batchs plus fins que les simples boucles FOR EACH natives.

Ainsi pas besoin de lancer le traitement via des paramètres définis dans l'agent SQL Server.

Ce composant qui fait cruellement défaut dans les packages et fonctionnalités natives de SQL Server Integration Services permet de détecter les changements sur les fichiers existants ou sur les fichiers nouvellement créés.

Pour que la détection soit effective il faut que le fichier soit accessible exclusivement par le composant. Page du composant sur le site de l'éditeur. Pour télécharger le composant les versions suivantes : Konesans File Watcher Task pour SSIS 2005 Konesans File Watcher Task pour SSIS 2008 Suivez ce lien : Télécharger Konesans File Watcher Task (pour SSIS 2005 et SSIS 2008)...

Lire la suite

- page 1 de 3

Suivez le blog high-tech

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