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

By | February 26, 2015

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

Есть два варианта создания мастер-пакета. Они зависят от того где расположены вызываемые пакеты. Если вы их уже опубликовали, то нужно обращаться к базе данных SSISDB. В нашем же случае они расположены на диске, поэтому будем обращаться к файловой системе.

Скрипт Biml очень простой:

<#@ template language=C# hostspecific=true“#>
<#@ import namespace=System.IO“#>
<Biml xmlns=http://schemas.varigence.com/biml.xsd>
<Packages>
<Package Name=MasterPackage ConstraintMode=Linear AutoCreateConfigurationsType=None ProtectionLevel=DontSaveSensitive>
<Tasks>
<# string[] myStagingfiles = Directory.GetFiles(@S:\BIML\“, IncrementalLoad_*.dtsx“); #>
<# foreach(string fileName in myStagingfiles) { #>
<# FileInfo fileInfo = new FileInfo(fileName); #>
<ExecutePackage Name=<#=fileInfo.Name#>>
<ExternalProjectPackage Package=<#=fileInfo.Name#>></ExternalProjectPackage>
</ExecutePackage >
<# } #>
</Tasks>
</Package>
</Packages>
</Biml>

В нем описан один пакет. Задачи вызова подчиненных пакетов формируются в цикле. У меня необходимые файлы расположены в папке S:\BIML\. Выбор файлов происходит по маске. После генерации пакета получается вот такой результат:

One thought on “BIML. Создаем мастер-пакет.

  1. Pingback: BIML. Сборник статей в этом блоге | Korshikov's

Comments are closed.