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


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

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

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

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

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

  • Строки наборов записей ADO

  • Данные схемы ADO.NET:

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

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

  • перечисляемые объекты, содержащиеся в переменной;

  • элементы коллекции;

  • узлы в выражении языка пути XML (XPath);

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

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

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

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

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

Задачи занятия

Это занятие содержит следующие задачи:

Начало занятия

Шаг 1. Копирование пакета занятия 1

См. также

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

Контейнер «цикл по элементам»