Если я правильно понимаю ваш вопрос, у вас есть файл (с тем же именем файла, который я предполагаю), который имеет либо старый, либо новый формат файла и не работает, потому что ваш источник плоских файлов имеет только старую (10 столбцов) схему файла данных? Если это так, я бы создал логическую переменную и назвал бы ее как isOldFormat. Затем я бы использовал задачу сценария в вашем потоке управления, чтобы определить, имеет ли он 10 или 15 столбцов. Псевдокод будет выглядеть примерно так:
1) Открыть плоский файл 2) Подсчитать столбцы в соответствии с вашим разделителем 3) Состояние Состояние:
Если столбцы. Количество = 10
isOldFormat = True
Иначе, если столбцы. Количество = 15
isOldFormat = False
еще
ошибка выброса
Тогда я бы создал другой поток данных, который имел бы новую схему формата файла (теперь в основном у вас есть два потока данных - один со старым форматом файла и один с новым).
После этого шага вы должны перетащить ограничение приоритета из задачи скрипта во вновь созданный поток данных, а одно - в старый поток данных. Двойным щелчком по ограничению приоритета вы должны установить для свойства операции оценщика значение Expression и ввести в поле Expression @isOldFormat == true для ограничения, идущего в поток данных, который содержит старый источник плоских файлов, и @isOldFormat == false. для другого потока данных. То, что это будет делать, будет выполнять только один или другой поток данных на основе переменной, заданной в вашей задаче сценария.
Надеюсь, это поможет.