Занятие 2. Добавление циклов
При работе над разделом Занятие 1. Создание проекта и учебного пакета был создан пакет, в котором данные извлекались из отдельного источника плоского файла, преобразовывались с помощью преобразований «Уточняющий запрос» и затем загружались в таблицу фактов FactCurrencyRate образца базы данных AdventureWorksDW.
Однако в процессе извлечения, преобразования и загрузки (ETL) редко используется отдельный плоский файл. Как правило, в процессе ETL данные извлекаются из нескольких источников плоского файла. Извлечение данных из нескольких источников требует итеративного потока управления. Одной из самых ожидаемых возможностей служб Microsoft SQL Server 2005 Integration Services (SSIS) является способность легко добавлять повторения или циклы в пакеты.
Службы Integration Services предоставляют два типа контейнеров для циклов по пакетам: контейнер «цикл по каждому элементу» и контейнер «цикл по элементам». В контейнере «цикл по каждому элементу» для выполнения циклической обработки используется перечислитель, а в контейнере «цикл по элементам» чаще используется переменное выражение. На этом занятии рассматривается контейнер «цикл по каждому элементу».
При помощи этого контейнера поток управления в пакете может повторяться для каждого элемента указанного перечислителя. Используя контейнер «цикл по каждому элементу», можно перечислять:
- строки наборов записей и данные схемы ADO;
- структуры файлов и каталогов;
- системные, пакетные и пользовательские переменные;
- управляющие объекты SQL Server (SMO).
На этом занятии предстоит изменить простой пакет ETL, созданный на занятии 1, с целью использования возможностей контейнера «цикл по каждому элементу». Кроме того, предстоит задать пользовательские пакетные переменные, чтобы в пакете учебника могли последовательно обрабатываться все плоские файлы в папке. Если предыдущее занятие не выполнялось, можно скопировать завершенный пакет занятия 1, который включен в учебник.
На этом занятии будет изменяться только поток управления, поток данных не рассматривается.
Важно! |
---|
Для выполнения упражнений нужен образец базы данных AdventureWorksDW. Дополнительные сведения об установке и развертывании базы данных AdventureWorksDW см. в разделе Использование программы установки для установки образца базы данных AdventureWorks и других примеров. |
Задачи занятия
Это занятие содержит следующие задачи:
- Копирование пакета занятия 1
- Добавление и настройка контейнера «цикл по каждому элементу»
- Изменение диспетчера соединений с плоскими файлами
- Проверка учебного пакета, созданного на занятии 2