Si je comprends bien votre question, vous disposez d'un fichier (même nom de fichier, je suppose) que ce soit a l'ancien ou le nouveau format de fichier et échoue parce que votre source de fichier plat a l'ancienne (10 colonne) schéma de fichier de données seulement? Si c'est le cas, je voudrais créer une variable booléenne et l'appeler quelque chose comme isOldFormat. J'utiliserais alors une tâche de script dans votre flux de contrôle pour déterminer s'il a 10 ou 15 colonnes. Le pseudo-code serait quelque chose comme ceci:
1) Ouvrir fichier plat 2) Compter les colonnes en fonction de votre delimiter 3) Condition statment:
Si columns.Count = 10 isOldFormat = True Else Si des colonnes. Count = 15 isOldFormat = False Else erreur de lancer
Ensuite, je voudrais créer un flux de données qui aurait le nouveau schéma de format de fichier (maintenant, fondamentalement, vous avez deux flux de données-un avec votre ancien format de fichier et l'autre avec le nouveau). Après cette étape, vous devez ensuite faire glisser la contrainte de précédence de votre tâche de script vers le flux de données nouvellement créé et l'autre vers l'ancien flux de données. En double-cliquant sur votre contrainte de prédiction, vous devez ensuite définir la propriété d'opération de l'évaluateur sur Expression et taper dans la case Expression @isOldFormat == true pour la contrainte allant au flux de données contenant l'ancienne source de fichier plat et @isOldFormat == false pour l'autre flux de données. Ce que cela va faire n'exécutera que l'un ou l'autre flux de données basé sur la variable qui est définie dans votre tâche de script.
Espérons que cela aide.
Merci pour Excellent Idea. – rmdussa