2017-01-01 6 views
0

J'essaie de créer un package qui importe les fichiers Excel dans une base de données à l'aide de SSIS.Tâche d'exécution de fichier SSIS dans le conteneur parent si le processus de conteneur enfant échoue

L'opération doit effectuer cette régulièrement et les noms de fichiers suivent une convention mais ne sont pas les mêmes, et aussi les noms feuille/onglet ne sont pas toujours les mêmes, le package SSIS est configuré comme suit:

conteneur principal -> d'abord pour chaque conteneur (appeler FE1) Permet d'obtenir les noms de fichiers (attribue à une variable) -> seconde pour chaque conteneur (appeler FE2) nom de feuille de calcul obtient et commence le processus d'importation.

Ce que j'ai fait est de créer une contrainte de priorité "d'échec" de FE2 à un processus de tâche de système de fichiers dans FE1. L'idée est que le déplacement de fichier est effectué si l'importation échoue pour une raison quelconque.

(une fois qu'il fonctionne, je voudrais créer un processus de « succès » qui déplace le fichier dans le dossier d'archives)

Le processus de tâche de fichiers fonctionne quand il n'y a qu'un seul « pour chaque conteneur » (non imbriqué comme il est maintenant) mais il échoue lorsque tous les processus sont dans le conteneur imbriqué en citant "fichier en cours d'utilisation". Je suppose que c'est parce que le premier pour chaque conteneur est le verrouillage du fichier, d'où la raison pour laquelle j'ai déplacé le processus de tâche de fichier au premier pour chaque conteneur et utilisé un contrôle précédent.

Toute aide et conseil très apprécié.

screenshot

Répondre

0

Pour le bénéfice de toute autre personne qui peut avoir le même problème:

pour l'amour ni l'argent que je pourrais avoir le connecteur Excel pour libérer les fichiers, même lorsque la tâche de fichier de déplacement était en dehors de la boucle. Finalement, j'ai enregistré les fichiers qui ont été déplacés dans une table dans la base de données, puis j'ai exécuté un second paquet qui contenait la tâche de déplacement et passait en revue les lignes de la liste importée avec succès. fichiers et les a déplacés vers leur destination en fonction de l'indicateur échec/succès.

C'était la seule façon de réussir à ce que cela se produise. Lorsque vous deviez parcourir la feuille de calcul de chaque fichier Excel (c'est-à-dire deux connexions Excel), SSIS ne publiait pas les fichiers, donc j'ai toujours reçu l'erreur et l'échec du fichier en cours d'utilisation.