gpt4 book ai didi

C# SMO 创建外部表

转载 作者:行者123 更新时间:2023-11-30 15:54:15 26 4
gpt4 key购买 nike

我正在考虑使用 C# SMO 库以编程方式创建当前数据库结构(不含数据)的副本。我已经成功地移动了模式、表、存储过程和外部资源,但是我很难这样做。我正在考虑使用这样提供的表对象:

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,它会抛出错误。将代码注释掉,它将创建表,但不会创建为外部表。

任何关于如何解决这个问题的想法/建议将不胜感激

最佳答案

我已经找到了解决方案,我只需要添加以下代码:

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

关于C# SMO 创建外部表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50699351/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com