2013-04-27 3 views
0

У меня около 20 TXT-файлов ежедневно с разными именами и структурой.SSIS импортирует несколько плоских файлов в несколько таблиц

Files Names --> Table Names 
----------------------------------------------------- 
Tbl-Sales-yymmdd-hhmmss.TXT --> Table-Sales 
Tbl-Customers-yymmdd-hhmmss.TXT --> Table-Customers 

Мне нужно создать пакет SSIS для импорта этих файлов TXT в таблицы SQL. Я попробовал несколько Контейнеров Контейна Контейна, но как только первый контейнер завершен, остальные возвращаются с пустым перечислителем и пропускают все задачи внутри. Любая помощь будет оценена по достоинству. Благодарю.

ответ

0

Я предполагаю, что ваши таблицы Table-Sales и Table-Customers имеют разные коллекции столбцов. Это означает, что вам нужно будет иметь одну задачу потока данных для каждой таблицы назначения, как минимум: каждой таблице назначения потребуется собственный набор сопоставлений столбцов.

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

Самый простой способ справиться с ситуацией было бы стандартизировать ваши имена файлов, в этом смысле: скопировать Tbl-Sales-yymmdd-hhmmss.TXT в файл под названием Table-Sales.txt в другой, отдельной директории, Tbl-Customers-yymmdd-hhmmss.TXT к Table-Customers.txt в той же выделенной директории и настроить все ваших менеджеров соединений с файловыми файлами (потому что вам, вероятно, понадобится один для каждого типа исходного файла), чтобы указать на файлы в выделенном каталоге. Тогда у вас будет пакет SSIS, который не нуждается в специальном программировании или возиться с переменными: пока файлы там, он будет выполняться без дальнейшего вмешательства.

Возможно, вы можете использовать SSIS для копирования файлов с отметкой времени в нужные имена файлов назначения или сделать это с небольшим количеством кода или (возможно) даже со старомодным файлом .bat. Есть много способов.

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