Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用SMO将表脚本化为select_Sql_Sql Server 2008_Scripting_Smo - Fatal编程技术网

Sql 使用SMO将表脚本化为select

Sql 使用SMO将表脚本化为select,sql,sql-server-2008,scripting,smo,Sql,Sql Server 2008,Scripting,Smo,SSMS允许您右键单击一个表并“将表脚本设置为”->“选择到”。我认为SSMS中几乎所有的事情都是通过SMO脚本引擎完成的,但是我似乎找不到一种通过SMO来完成的方法,除非通过循环列并自己生成脚本 是我的Google Fu很弱,还是人们只是不使用SMO来做类似的事情?我在任何地方都找不到这方面的示例脚本,但这似乎是一种常见的需要。表的Script()函数似乎可以做到这一点: Server server = new Server("."); Database northwind = server.

SSMS允许您右键单击一个表并“将表脚本设置为”->“选择到”。我认为SSMS中几乎所有的事情都是通过SMO脚本引擎完成的,但是我似乎找不到一种通过SMO来完成的方法,除非通过循环列并自己生成脚本


是我的Google Fu很弱,还是人们只是不使用SMO来做类似的事情?我在任何地方都找不到这方面的示例脚本,但这似乎是一种常见的需要。

表的
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
。请看此图。

谢谢,但这会生成一个创建脚本。我正在寻找选择脚本找不到生成选择脚本的方法。但这应该很容易实现?