2016-06-22 1 views
0

l'intérieur d'un fooreachloop J'ai la configuration suivante dans mon package SSIS:Destination de fichier plat ne sauvegarde pas les lignes d'erreur - SSIS

enter image description here

Comme vous pouvez le voir, de mes sources, j'ai quelques-uns lignes avec quelques problèmes. Avec la visionneuse de données, je peux les voir. En théorie, la destination de fichier plat doit enregistrer ces valeurs sur le fichier indiqué par le connecteur. Mais au lieu de cela dans le fichier de destination, je ne peux voir que l'en-tête et non les valeurs.

enter image description here

De la destination Mise en scène DB les erreurs sont configurés avec l'option de "lignes Redirect"

Alors, ce qui peut manquer dans la configuration?

+0

Il est utilisé uniquement pour afficher le fichier plat de destination avec l'en-tête et pas plus d'informations. Les lignes affichées dans la visionneuse de données n'apparaissent pas à la fin du processus. – d2907

+0

Êtes-vous dans une boucle foreach ou quelque chose qui pourrait réinitialiser la destination de fichier plat? – billinkc

+0

Oui @billinkc Je lis différents fichiers dans un foreachloop. Quelle est l'option que je dois définir pour éviter ce comportement? – d2907

Répondre

3

La destination de fichier plat est probablement définie pour tronquer, pas ajouter. donc le manque de données à la fin de la boucle est probablement une indication que le dernier fichier réussit sans problèmes. Si vous remarquez que votre visionneuse de données est en pause, ce qui signifie que ces lignes n'ont pas encore été vidées dans le fichier de destination, donc à la fin de l'exécution, et à l'endroit précis où la capture d'écran a été prise, je m'attendrais le fichier doit être vide. La connexion de fichier à plat a une option "Remplacer les données dans le fichier" pour changer ce comportement, mais vous devez manuellement tronquer le fichier avant la première boucle sinon vous obtenez des erreurs d'hier et d'aujourd'hui dans le fichier.

+0

Merci beaucoup. C'était très clair. – d2907