Как загрузить два файла с почти одинаковым именем для каждого контейнера цикла в SSIS? - PullRequest
0 голосов
/ 22 октября 2018

У меня есть два CSV-файла с почти одинаковым именем.

1.S101053_345_1809.csv

2.SAS101053_345_1809.csv

Шаблон имени файла приведен ниже.1. Первый файл продаж.«S» означает файл продаж, 101053 - код дистрибьютора, 345 - код компании, 1809 - год и месяц.2. Второй файл - «Склад и продажа».«SAS» означает «Запасы и продажи», 101053 - это код дистрибьютора, 345 - это код компании, а 1809 - год и месяц.

Я пытаюсь загрузить данные через Для каждого контейнера петли файлов в SSIS.Пакет файлов SAS исполняется нормально, и файлы успешно загружаются.но когда он выполняет итерацию для файла S (Sales File), он читает оба файла.Продажи и акции и продажи.потому что он находит "S" при запуске в обоих файлах.Прикреплен снимок экрана конфигурации для «Для каждого контейнера цикла»

Для каждой конфигурации контейнера цикла:

enter image description here

Как загрузить обафайлы из той же папки.

1 Ответ

0 голосов
/ 22 октября 2018

Вы можете вставить компонент скрипта для опроса имени файла.Если он содержит «SAS», тогда установите переменную флага игнорирования.Затем проверьте это и отправьте файлы "SAS" в пустой контейнер последовательности Data Flow

Сценарий будет выглядеть примерно так

StrFileName = Dts.Variables("varFileName").Value.ToString 
'varfilename is the name returned from the for each loop
IntInstr = InStr(StrFileName, "SAS")
if IntInstr = 0 then 
   ' if "SAS" is not found in the filename then set the varFileOK to True
   Dts.Variables("varFileOK").Value = True
   Else
   Dts.Variables("varFileOK").Value = False
End If
Dts.TaskResult = Dts.Results.Success

Затем используйте "Выражение и ограничение «Средство редактирования» на стрелке потока данных для проверки значения «VarFileOK».

Если True, то указать данные на поток данных «Файл для игнорирования».

Если False, обработать файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...