Как развернуть BIML-скрипт для создания базы данных

112
8

Я изучаю BIML с сайта bimlscript.com и проходил следующие шаги: http://www.bimlscript.com/Walkthrough/Details/3111. У меня есть создание новой таблицы для базы данных на localhost. Как запустить это с помощью BIML Express? Меню Visual Studio BIMLExpress дает возможность генерировать пакет SSIS.

спросил(а) 2017-07-28T17:36:00+03:00 3 года, 2 месяца назад
1
Решение
56

Создайте пакет SSIS или проверьте наличие ошибок как для Biml, так и для BimlScript.

Как краткое изложение статьи, она показывает вам модель или описывает реляционные артефакты (база данных/схема/таблица) с Biml. Это можно сделать вручную или путем обратного проектирования с помощью GetDatabaseSchema.

Дело в том, что эти артефакты - все в памяти. Как только будет создан компилятор. Создавая пакет SSIS или проверку ошибок, они уходят. То, что вы хотите сделать, это нажать кнопку или что-то BimlExpress для создания объектов базы данных.

Это не существует напрямую, но вы можете собрать все необходимые инструменты с большим количеством BimlScript. Вы можете проверить оцененный Biml, используя уровень и оценку бинарного потока RootNode

GetDropAndCreateDdl статья не отображается с использованием метода GetDropAndCreateDdl. Вызов этого в отношении реляционных объектов памяти (базы данных/схемы/таблицы) переводит Biml в определение SQL.

Вам нужно выяснить, хотите ли вы каждый раз запускать SQL, просто генерировать текстовые файлы SQL или создавать пакет SSIS, который затем выполняете для запуска команд SQL.

Например, этот бит Biml будет генерировать в окне предварительного просмотра все выпадающие и создавать необходимые вам операторы.

<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<#
foreach(var db in RootNode.Databases)
{
WriteLine(db.GetDropAndCreateDdl());
}

foreach(var schema in RootNode.Schemas)
{
WriteLine(schema.GetDropAndCreateDdl());
}

foreach(var table in RootNode.Tables)
{
WriteLine(table.GetDropAndCreateDdl());
}
#>
</Biml>

Если бы я хотел сохранить файл, замените вызовы WriteLine с помощью System.IO.File.WriteAllText

Если вы хотите отключить их как SQL-команды, тогда это будет немного сложнее, поскольку вам нужно создать экземпляр диспетчера подключений, связанного с базой данных, а затем запустить ddl.

ответил(а) 2017-07-28T20:32:00+03:00 3 года, 2 месяца назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема