Поделиться через


Занятие 2. Добавление циклов

При работе над разделом Занятие 1 (учебник по службам SSIS). Создание проекта и основного пакета был создан пакет, в котором данные извлекались из отдельного источника плоского файла, преобразовывались с помощью преобразований «Уточняющий запрос» и затем загружались в таблицу фактов FactCurrencyRate образца базы данных AdventureWorksDW.

Однако в процессе извлечения, преобразования и загрузки (ETL) редко используется отдельный плоский файл. Как правило, в процессе ETL данные извлекаются из нескольких источников плоского файла. Извлечение данных из нескольких источников требует итеративного потока управления. Одной из самых ожидаемых возможностей служб Microsoft Integration Services является способность легко добавлять повторения или циклы в пакеты.

Службы Integration Services предоставляют два типа контейнеров для циклов по пакетам: контейнер «цикл по каждому элементу» и контейнер «цикл по элементам». В контейнере «цикл по каждому элементу» для выполнения циклической обработки используется перечислитель, а в контейнере «цикл по элементам» чаще используется переменное выражение. На этом занятии рассматривается контейнер «цикл по каждому элементу».

При помощи этого контейнера поток управления в пакете может повторяться для каждого элемента указанного перечислителя. Используя контейнер «цикл по каждому элементу», можно перечислять:

  • строки наборов записей и данные схемы ADO;

  • структуры файлов и каталогов;

  • системные, пакетные и пользовательские переменные;

  • управляющие объекты SQL Server (SMO)

На этом занятии предстоит изменить простой пакет ETL, созданный на занятии 1, с целью использования возможностей контейнера «цикл по каждому элементу». Кроме того, предстоит задать пользовательские пакетные переменные, чтобы в пакете учебника могли последовательно обрабатываться все плоские файлы в папке. Если предыдущее занятие не выполнялось, можно скопировать завершенный пакет занятия 1, который включен в учебник.

На этом занятии будет изменяться только поток управления, поток данных не рассматривается.

Важное примечаниеВажно!

Для выполнения упражнений нужен образец базы данных AdventureWorksDW. Дополнительные сведения об установке и развертывании базы данных AdventureWorksDW см. в разделе Вопросы установки образцов кода и образцов баз данных SQL Server.

См. также

Основные понятия