Дата публикации: 18.02.2008
Обновлено: 29.07.2015

Integration Services, Часть 1 — Получение и преобразование данных из Firebird и InterBase.

Введение
Создание SSIS пакета и нового потока данных
Создание подключения к базе данных Firebird/InterBase
Импорт данных на основе таблицы. OLE DB Source
Импорт данных на основе SQL запроса
Преобразование данных
Ссылки по теме

Примеры к статье

Keywords: MS SQL Server Integration Services, Business Intelligece (BI), BI системы, MSSQL 2005, Firebird, InterBase

Введение.

ETL — Extract (получение), Transform (преобразование), Load (загрузка)

SQL Server Integration Services (SSIS) — это удобная среда, входящая в состав MS SQL Server 2005 Business Intelligence, которая предназначена для разработки ETL — процессов. Проекты Integrations Services хорошо интегрируются с другими средствами разработки SQL Server 2005 — Analysis Services (SSAS) и Reporting Services (SSRS). В качестве источников и получателей данных могут выступать книги Excel, текстовые и XML файлы, а так же базы данных, для которых реализован OLE DB провайдер. Для работы с данными Firebird и InterBase в среде Integration Services необходимо воспользоваться компонентами OLE DB Source и OLE DB Destination, а так же установить IBProvider Professional Edition (32/64 bit).

OLE DB Source. Integration Services         OLE DB Destination. Integration Services

Integration Services, помимо стандартных компонентов, позволяет разрабатывать собственные источники и получатели данных. Подробнее о создании компонентов для SSIS читайте в статье Повышение производительности с помощью нестандартных решений.

Создание SSIS пакета и нового потока данных.

Запустите среду SQL Server Business Intelligence Development Studio и создайте новый проект Integration Services Project. Перетащите на вкладку Control Flow компонент Data Flow Task. (см. Рисунок 3), Будет создан новый поток данных. Далее переключитесь на вкладку Data Flow и перетащите с панели компонентов (Toolbox) OLE DB Source (см. Рисунок 4). Далее необходимо настроить источник данных.

Создание подключения к базе данных Firebird/InterBase.

Существует несколько способов создания подключения к базе данных. Один из них — это воспользоваться менеджером подключений (Connection Manager). Щелкните правой кнопкой мыши в менеджере подключений и выберите пункт меню New OLE DB Connection:

Connection manager. Integration Services

В открывшемся окне менеджера подключений OLE DB (см. Рисунок 6), выберите существующее подключение или создайте новое. При создании нового подключения откроется диалог, в котором в выпадающем списке необходимо выбрать LCPI OLE DB Provider for InterBase [v3] и нажать кнопку Data Links:

Create OLE DB Connection. Integration Services

Запустится встроенный в IBProvider диалог настройки подключения OLE DB, в котором необходимо установить следующие обязательный параметры:

  • Full path to database file — соответствует параметру строки подключения Location.
  • User и Password.
  • Save password — разрешить сохранение пароля в тексте строки подключения.
  • Enable Automatic transaction — разрешить автоматические транзакции (соответствует параметру строки подключения auto_commit).

Setup Firebird/InterBase datasource

Перейдите на следующую вкладку:

  • Выберите тип сервера.
  • Установите галочку Support ODBC Query (соответствует параметру строки подключения support_odbc_query).
  • Снимите галочку Truncate Char (соответствует параметру строки подключения truncate_char).

Setup Firebird/InterBase mandatory properties

И наконец, на последней вкладке необходимо установить свойство support_square_delim_name = 1 (см. Рисунок 10).

На этом настройка подключения завершена. Убедитесь в правильности настроек, нажав на кнопку Test Connection (Проверить подключение).

Импорт данных на основе таблицы. OLE DB Source.

Для импорта списка клиентов создадим источник данных, который загрузит таблицу CUSTOMERS. Нажмите правой кнопкой мыши на компоненте OLE DB Source и выберите пункт меню Edit:

Manage OLE DB Source. Integration Services

Откроется диалог настройки источника данных. В нем необходимо:

  • Выбрать подключение к базе данных.
  • Выбрать таблицу с данными (таблицу CUSTOMERS).
  • Настроить список возвращаемых полей, выбранной таблицы.
OLE DB Source based on table

Импорт данных на основе SQL запроса.

Для загрузки отчета о продажах настроим OLE DB Source так, чтобы он использовал данные SQL запроса. Добавим новый компонент OLE DB Source в Data Flow и настроим его в соответствии с рисунком:

OLE DB Source based on SQL query

Запрос можно написать вручную или воспользоваться построителем запросов (Query Builder). Для проверки синтаксиса нажмите кнопку Parse Query, Кнопка Preview покажет результат выполнения запроса.

Преобразование данных.

В среде Integration Services реализовано достаточно много стандартных преобразователей. Их рассмотрение выходит за рамки данной статьи, поэтому я приведу лишь результирующий поток данных:

Merge Join Transformaion

Данные о клиентах и продажах загружаются из двух источников OLE DB Source — Customers List и Sales Report. Далее они сортируются по полю CUST_NO при помощи двух компонентов Sort. Предварительная сортировка требуется для компонента Merge (Merge customer countries and sales info). В компоненте Merge данные из двух источников объединяются по полю CUST_NO. В результрующее множество добавляются поля TOTAL_VALUE, DISCOUNT, ITEM_TYPE из отчета о продажах, а так же COUNTRY из списка клиентов:

Firebird/InterBase Data Flow

Далее данные передаются компоненту Aggregate (Group by countries and items types), который производит различные групповые операции над результирующим множеством:

Agregate Transformation

Из рисунка следует, что сначала производится группировка по странам, далее по типу товара, а так же определяется величина прибыли и число продаж по каждой стране. После этого компонент Sort сортирует данные по величине прибыли и передает их виртуальному приемнику DataReaderDest. Результат обработки данных контролируется с помощью средства Data Viewers:

SSIS. Add Data Viewer

Просмотром данных (DataViewers) удобно пользоваться для вывода промежуточных результатов и отладки SSIS пакета. После выполнения пакета (F5), на экране появится окно с результатами обработки данных:

SSIS. Data Viewer

Дополнительная информация с сайта.

Подпишитесь на новости и получите все последующие части из этой серии статей.

Полезные ссылки с других ресурсов


Дата публикации: 18.02.2008. Права на материал принадлежат: IBProvider. При перепечатке ссылка на сайт https://www.ibprovider.com/rus обязательна.