Создать пакет служб SSIS для импорта из одного из многих источников данных - PullRequest
1 голос
/ 31 января 2012

Можно ли создать пакет служб SSIS, в который можно передать файл (через переменную) и из переменной определить, какую задачу потока данных использовать?

Что я хотел бы сделать, этосоздать отдельный пакет DTSX, который может принимать имя файла в качестве переменной и определять (просто по имени файла), является ли он файлом Excel 2003, Excel 2007 или CSV, и из этого выполнить правильную задачу потока данных.Затем я обработаю результаты в другой задаче потока данных после импорта данных.

Я давно использовал SSIS и только возвращаюсь к его использованию, поэтому мои знания заблокированы и будут доступнывозвращайся медленно.Я просто не могу вспомнить (или найти в Google) способ создания условного разделения в потоке управления.

Есть идеи?

Ответы [ 2 ]

1 голос
/ 31 января 2012

Как указывал HLGEM, до тех пор, пока внутренняя структура была последовательной, чего-то подобного было бы достаточно.

Я объявил переменную уровня пакета DatFlowSelector, и в своей первоначальной задаче сценария я использовал бы логику, чтобы определить, какой путь должен пройти поток, на основе переменной FileName, которую вы собираетесь использовать.

control flow

После подключения ожидаемых выходных данных используйте редактор ограничений Precedence, чтобы определить, какой путь оценивается как true. Моя логика была просто @[User::DataFlowSelector] == N, где N соответствует значению, назначенному моим сценарием.

Я обычно переключаю свойство ShowAnnotation на "ConstraintOptions", когда я изменяю ограничения, поскольку это сразу дает понять будущим сопровождающим, что что-то происходит. SQL 2012 поможет в этом случае, так как он назначает глиф fx для соединителя, но отображение логики может сразу же подтвердить звуковую логику.

precedent constraint editor

1 голос
/ 31 января 2012

Я сделал что-то похожее для каждого цикла в потоке управления. Он просмотрел все файлы в каталоге обработки и направил их в правильный поток данных на основе имени файла (так как они были одного и того же типа файла, но с разными внутренними структурами).

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