2017-05-25 1 views
2

Je travaille sur un package qui nécessite plusieurs tâches de flux de données dans plusieurs conteneurs de boucle foreach. Le problème se pose lorsque j'essaie de lancer l'ensemble du paquet. La première tâche de flux de données dans le premier pour chaque conteneur de boucle s'exécute avec succès mais le flux n'entre pas dans l'autre pour chaque conteneur de boucle. le paquet initial ressemble:Plusieurs conteneurs de boucle foreach dans SSIS

Paquet initial

Initial Package(Before execution)

paquet après l'exécution

Package after execution

Je veux savoir quels changements sont nécessaires pour rendre le flux de données tâche dans les autres conteneurs à exécuter. (Toutes les variables ont un pac kage scope). Pour chaque boucle, les conteneurs fonctionnent correctement lorsqu'ils sont stockés dans des packages différents.

+0

pouvez-vous ajouter un instantané des paramètres 'foreach loop container'? – Hadi

Répondre

2

On dirait qu'il entre dans l'autre pour les boucles, mais il ne trouve pas le bon ensemble de fichiers à traiter, s'il vous plaît vérifier votre collection d'objets. Vous avez également des expressions dans les boucles foreach, vérifiez donc qu'elles sont correctement évaluées.

Par exemple, il peut contenir * .txt, mais vous ne disposez pas de tels fichiers dans le dossier. Ainsi, seule la boucle foreach s'exécute mais pas le flux de données.

+0

Merci pour votre réponse. Mais il devrait toujours aller à la tâche de flux de données dans l'autre conteneur et me donner une erreur ou une information qu'il essaie de lire un fichier ou un fichier non trouvé message. Aussi les mêmes choses fonctionnent si j'exécute chaque conteneur dans un paquet différent. (J'ai vérifié l'emplacement des fichiers et j'ai plusieurs fichiers du format spécifié). –

+0

Quand il n'y a pas de fichiers, il ne donnera aucune erreur, il passera juste. Donc, après votre première boucle foreach, vous pouvez mettre un script et vérifier quelle est la valeur de votre expression de collection de fichiers dans une boîte de message et voir si elle a des fichiers correspondants pour cela. –

0

Vous pourriez vouloir vérifier si quelque chose qui est fait dans la première boucle provoque l'évaluation incorrecte des expressions dans l'autre pour les boucles.

+0

J'ai vérifié toutes les expressions en utilisant une tâche de script, la valeur reste en fonction de l'exigence, mais elle n'exécute toujours pas la tâche de flux de données dans les autres boucles foreach. –

+0

Avez-vous essayé de faire un exemple de l'ensemble du processus avec un fichier de test (ou un autre objet) sans les boucles foreach, juste pour voir si le processus se passe bien sans eux? –