Category Archives: Integration Services

BIML. Разбираем ConstraintMode

В статье я упоминал про разницу между двумя значения аттрибута ConstraintMode элемента Package. Давайте сейчас разберем этот аттрибут подробнее. Напомню, этот аттрибут задает параллельное (ConstraintMode=“Parallel“)  или последовательное (ConstraintMode=“Linear“) выполнение задач. ConstraintMode является обязательным свойством пакета. Для иллюстрации создадим пакет с тремя задачами. Linear Constraint Линейная последовательность создает последовательность выполнения между задачами так как они указаны… Read More »

BIML. Несколько советов.

В этой статье я расскажу несколько советов по работе с Biml- скриптами. Начнем с самого простого. Если вы копируете текст в скрипт из внешнего источника, то текст может измениться (неожиданные переносы строк, лишние закрывающие теги и т.п.). Например, скопируйте следующий текст в новый Biml-скрипт: <Biml xmlns=“http://schemas.varigence.com/biml.xsd“> <Packages> <# for(int i = 1; i <= 5;… Read More »

BIML. MessageBox

Т.к. в Biml можно вызывать .Net-код, то можно и использовать функцию вывода диалогового окна с сообщением – MessageBox. Самый простой вариант вызова этой функции имеет вид: <Biml xmlns=“http://schemas.varigence.com/biml.xsd“> <#@ template language=“C#“ #> <#@ assembly name=“%WINDIR%\\Microsoft.NET\\Framework\\v2.0.50727\\System.Windows.Forms.dll“ #> <#@ import namespace=“System.Windows.Forms“ #> <#MessageBox.Show(“Hello World“);#> </Biml> Кстати, эту функцию можно использовать для отладки Biml-скриптов. Подробней как это осуществить можно прочитать… Read More »

BIML. Повторное использование кода.

Поработав с BIML и накопив некоторое количество проектов, вы наверняка заметите что часто повторно используете некоторый код, например, описание соединений. Есть несколько вариантов упростить поддержку подобных проектов. Самый красивый и эффективный – это использование Transformation, но этот вариант доступен только в программе Mist. Поэтому я пока его не буду рассматривать. Для SSDT есть два других… Read More »

BIML. Создаем мастер-пакет.

В прошлой статье я рассказал как одним скриптом Biml создать несколько SSIS пакетов. Допустим мы создали десять, а может быть сотню пакетов, но как их запустить все? Можно создать пакет, в котором будут вызываться все наши пакеты, так называемый мастер-пакет. Но вручную создавать такой пакет очень неудобно и долго. Но теперь мы знаем Biml. И… Read More »

BIML. Включаем автоматизацию.

Как создать один пакет для инкрементальной загрузки данных мы разобрали. Но пусть теперь у нас будет четыре таблицы, для которых надо создать аналогичные пакеты. Давайте создадим эти таблицы и заполним данными: USE SSISIncrementalLoad_Source GO — создаем таблицу Source1 If Not Exists(Select name From sys.tables Where name = ‘Source1’) CREATE TABLE dbo.Source1 (ColID int NOT NULL ,ColA varchar(10) NULL ,ColB datetime NULL ,ColC int NULL ,constraint… Read More »

BIML. Усложняем задачу.

Мы научились создавать простые пакеты с помощью BIML. Теперь усложним задачу. Создадим скрипт BIML для пакета, осуществляющего инкрементальную загрузку данных. Для этого сначала проведем предварительную работу. Выполните скрипт T-SQL (наверняка вы будете использовать для этого SQL Server Management Studio) для создания баз данных и таблиц с данными: USE master Go — база данных источник If Not Exists(Select name From sys.databases Where… Read More »

BIML. Создаем “Hello, world!”

В прошлой статье мы разобрали что такое BIML. Теперь создадим первый аналог Hello, world для BIML. Надеюсь вы уже скачали и установили BIDS Helper соответствующей версии. Я использую SQL Server Data Tools-BI, установленную на Visual Studio 2012, и SQL Server 2014 (хотя он официально не поддерживается, но все работает). Создаем новый SSIS проект, назовем его… Read More »

BIML. Введение

SQL Server Integration Services самый лучший инструмент для работы (интеграции, переноса, обновления) с данными. Но если у вас десятки, а иногда сотни таблиц, для которых нужно создать однотипные пакеты, то могут возникнуть сложности. И в такой ситуации вам поможет лучший друг разработчика пакетов – Business Intelligence Markup Language (Biml). Biml позволяет создавать пакеты SSIS с… Read More »

BIML. Сборник статей в этом блоге

На тему BIML в этом блоге представлены статьи: Введение Создаем “Hello, world!” Усложняем задачу Включаем автоматизацию Создаем мастер-пакет Повторное использование кода MessageBox Несколько советов Разбираем ConstraintMode Работа с переменными