2016-07-27 2 views
0

У меня есть папка, которая содержит файлы, такие как:Как читать несколько плоских файлов динамических в природе на одном дыхании в SSIS

A_ddmmyyyy, b_ddmmyyyy and c_ddmmyyyy. 

мне нужно прочитать все эти файлы на дату и снова все эти файлы для следующая дата присутствует в той же папке. Также количество файлов, присутствующих в папке, меняется (может содержать данные в течение трех дней или пяти дат), но дата в папке остается неизменной.

Возможно ли это?

ответ

0

Вы можете создать Контейнер Контейна Foreach, внутри контейнера создайте задачу потока данных, которая обрабатывает все файлы в определенной папке. Вы создаете плоское соединение с необходимым разделителем и переменную, которая имеет путь к папке для ваших файлов. Затем, в качестве последнего шага к вашим задачам, создайте задачу файловой системы, чтобы переместить файл в обработанную или завершенную папку, чтобы ваша основная папка исчезла после обработки файлов.

+0

Thnx Jason, но данные, присутствующие в каждом файле, различны. –

+0

Итак, если вы говорите, что файлы должны обрабатываться по порядку, сначала, а затем B, а затем C, для конкретной даты. Создайте Контейнер циклов Foreach, который выгружает имена файлов в таблицу, а затем применяет вашу логику для итерации по списку, для которого обрабатываются файлы и какой порядок (либо через SQL, либо через Sort Transformation в ssis). Сначала этот Контейнер выполняется, а затем Контейнер Контейна Контейна Я упоминаю выше второго. –

+0

Если вы говорите, что файлы должны обрабатываться в разных таблицах на основе имен файлов, существует ли какое-то согласованное соглашение об именах, чтобы вы могли выбрать, какие файлы переходят в какую таблицу? Если это так, создайте Контейнер циклов Foreach, который выгружает имена файлов в таблицу, а затем применяет вашу логику для повторения в списке, для которого файлы обрабатываются в связанных таблицах (либо через SQL, либо через Sort Transformation в ssis). Сначала этот Контейнер выполняется, затем Контейнер Контейна Контейна, который я изначально упоминал выше, второй. –

0

Имя файла не имеет значения, вы должны быть уверены, сколько видов схем (количество столбцов, имена столбцов, типы) файлов в папке. Скажем, у вас есть 3 схемы, тогда вам нужно будет определить 3 типа плоских подключений файлов. Есть много способов сделать эту работу, самым простым из которых я могу думать, является использование powershell для разделения файлов различной схемы на разные папки, вы должны знать, какие имена файлов сопоставляются с какой схемой, может быть шаблон или бизнес править. Затем вы запускаете скрипт в свою задачу для выполнения процесса выполнения. Тогда простое: для каждой папки вы создаете пакет, внутри - для каждого контейнера, в котором вы просматриваете папку для загрузки каждого файла. Или вы можете иметь один пакет с тремя для каждого контейнера цикла для выполнения задания.

Смежные вопросы