使用SMO将脚本表作为选择

时间:2010-05-28 14:26:37

标签: sql sql-server-2008 scripting smo

SSMS允许您右键单击表格并将“脚本表格”设为“>”选择“。我认为SSMS中的几乎所有内容都是通过SMO脚本引擎完成的,但我似乎无法通过SMO找到一种方法来实现这一点,而不是循环遍历列并自己生成脚本。

我的Google-Fu弱了,还是人们只是没有使用SMO这样的东西?我无法在任何地方找到任何示例脚本,但似乎这是一个常见的需求。

1 个答案:

答案 0 :(得分:2)

看起来表的Script()函数可以做到这一点:

Server server = new Server(".");
Database northwind = server.Databases["Northwind"];
Table categories = northwind.Tables["Categories"];
StringCollection script = categories.Script();
string[] scriptArray = new string[script.Count];
script.CopyTo(scriptArray, 0);

现在scriptArray将包含一个SQL命令列表,字符串数组的第一个条目将是set ansi_nulls on。请参阅此blog post