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

By | March 6, 2015

В этой статье я расскажу несколько советов по работе с Biml- скриптами.

  1. Начнем с самого простого. Если вы копируете текст в скрипт из внешнего источника, то текст может измениться (неожиданные переносы строк, лишние закрывающие теги и т.п.). Например, скопируйте следующий текст в новый Biml-скрипт:
    <Biml xmlns=http://schemas.varigence.com/biml.xsd>
    <Packages>
    <# for(int i = 1; i <= 5; i++) { #>
    <Package Name=MyPackage<#=i#>” ConstraintMode=”Linear”>
    <Tasks>
    <Dataflow Name=My Dataflow>
    </Dataflow>
    </Tasks>
    </Package>
    <# } #>
    </Packages>
    </Biml>

    И вы получите следующий результат:

    <Biml xmlns=http://schemas.varigence.com/biml.xsd>
    <Packages>
    <# for(int i = 1; i <= 5; i++) { #>
    <Package Name=MyPackage
    <#=i#>” ConstraintMode=”Linear”>
    <Tasks>
    <Dataflow Name=My Dataflow>
    </Dataflow>
    </Tasks>
    </Package>
    <# } #>
    </Packages>
    </Biml>

    Чтобы устранить эту проблему нужно внести следующие изменения в настройках SSDT: 

    • вызовите следующий пункт меню Tools->Options
    • в открывшемся диалоговом окне перейдите к пункту Text Editor -> XML -> Formatting
    • уберите выбор с пунктов “On Paste from clipboard” и “On completion of end tag”


    Источник: http://bimlscript.com/Walkthrough/Details/45 

  2. есть ещё одна неприятность связанная с редактором. Наверняка вы заметили, что когда используются директивы для .NET-кода в Biml-скрипте, то при повторном открытие проекта этот скрипт теряет раскраску, что весьма не удобно при работе. Это происходит из-за того, что редактор не видит в начале файла стандартные теги для XML и считает, что это обычный текстовый файл. Чтобы избежать такой ситуации достаточно поместить эти директивы в конец файла после тега </Biml>. Не совсем привычно, но работает 🙂 
  3. Если вы хотите использовать BimlScript, то рекомендуется создать скрипт, реализующий базовую функциональность без автоматизации, проверить его, а потом уже добавлять автоматизацию. Это нужно из-за того, что комбинация XML и кода вызовет затруднение при разработке скрипта.
  4. Не забывайте почаще сохраняться и вызывать проверку Biml-скрипта. Кроме того, для отладки скрипта можно использовать вызов функции MessageBox.
  5. XML содержит специальные символы, которые нужно вложить в тег CDATA или заменить эти символы на escape-последовательность, если вы хотите использовать их как обычные символы:
    • Двойная кавычка ” ( &quot; )
    • Одинарная кавычка ‘  ( &apos; )
    • Знак меньше  < ( &lt; )
    • Знак больше  >  ( &gt; )
    • Амперсенд & ( &amp; )

Например, вам надо вызвать T-SQL команду:

<Direct Input=“”>
SELECT Name FROM dbo.People WHERE Age > 25
</Direct Input>

Редактор неправильно попытается обработать выражение Age > 25. Чтобы избежать этой проблемы вы должны заменить T-SQL команду одним из следующих вариантов:
<Direct Input=“”>
<![CDATA[SELECT Name FROM dbo.People WHERE Age > 25]]>
</Direct Input>

или 

<Direct Input=“”>
SELECT Name FROM dbo.People WHERE Age &gt; 25
</Direct Input>

One thought on “BIML. Несколько советов.

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

Comments are closed.