Articles

Affichage des articles associés au libellé SSIS

Comment vérifier l'existence d'un fichier avant d'exécuter des tâches

Image
Scénario :  Souvent on est amené à vérifier l'existence d'un fichier dans un répertoire avant de lancer l'exécution les tâches restantes dans un package ou pas. Solution :  Pour ce faire, on créée 3 variables dans le package : Folder_Path: nom du répertoire dans lequel on vérifie l’existence du fichier File_Path: pour le chemin absolu du ficher (concaténation du chemin du répertoire et 'MonFichier.txt') File_Exist_Flg : flag qui égal à "1" si le fichier existe, sinon "0" Glisser le composant Script Task et renseigner les variables comme ci-dessous : Le script en C# teste si le fichier existe ou pas, et affecte la bonne valeur à la variable  File_Exist_Flg: On ajoute la contrainte de précédence,  Si le fichier existe, on poursuit l'exécution du flux de données qui suit, sinon, on l'exécute pas.

Job exécutant un package en erreur

Image
Job exécutant un package en erreur Le package est en erreur lorsqu’elle est appelée à partir d’une étape de travail de l’agent SQL Server J’ai été confronté récemment à une erreur d’exécution d’un package SSIS, l’erreur obtenue est la suivante : Failed to decrypt protected XML node "DTS:Password" with error 0x8009000B "Key not valid for use in specified state.". You may not be authorized to access this information. This error occurs when there is a cryptographic error. Verify that the correct key is available .  Le message d’erreur est claire et précise que le job sql n’est pas en mesure de déchiffrer le mot de passe d’une source de données, toutefois le package fonctionne correctement en dehors de l’agent. Résolution : Soit : Le compte d'utilisateur utilisé pour exécuter le package sous SQL Server Agent diffère de l'auteur du package d'origine. Le compte d'utilisateur n'a pas les autorisations requises pour établir des connexions...

Archiver un fichier résultat d'un DataFlow très volumineux

Image
SSIS ne contient pas vraiment un composant dédié à l’archivage, mais SSIS peut lancer n’importe quel programme via la tâche : Execute Process Task. Les arguments sont spécifiés comme suit : L’option ‘a’ de la commande signifie archive, le 1 er argument : le fichier résultant d’archivage, et le deuxième est le fichier à archiver (.csv). Le workingDirectory : le répertoire de travail d’où est récupéré le fichier .csv et où est stocké le résultat de l’archivage