C # SMO Создание внешних таблиц - PullRequest
0 голосов
/ 05 июня 2018

Я смотрю на создание копии моей текущей структуры базы данных (без данных) программно с использованием библиотек C # SMO.У меня есть Схема, Таблицы, Хранимые процедуры и Внешние ресурсы, перемещающиеся успешно, однако я испытываю трудности с этим.Я смотрю на использование объекта Table, представленного в следующем виде:

TableCollection tables = server.Databases[source].Tables;

foreach (Table table in tables)
{
    if (table.IsExternal)
    {
        Table newTable = new Table(ddatabase, table.Name, table.Schema);
        foreach (Column col in table.Columns)
        {
            Column newColumn = new Column(newTable, col.Name, col.DataType);
            newTable.Columns.Add(newColumn);
        }
        //newTable.IsExternal = table.IsExternal;

        newTable.Create();
    }
}

Если я раскомментирую isExternal, чтобы установить его в true, он выдаст ошибку.Оставив закомментированный код, он будет создавать таблицы, но не как внешние таблицы.

Любые идеи / предложения о том, как решить эту проблему, будут высоко оценены

1 Ответ

0 голосов
/ 05 июня 2018

Я нашел решение, мне просто нужно добавить следующий код в:

newTable.ExternalTableDistribution = table.ExternalTableDistribution;
newTable.DataSourceName = table.DataSourceName;
newTable.IsExternal = true;
...