我正在使用 C# 以编程方式创建 SSIS 包。我正在使用 Visual Studio 2010 并为 SQL Server 2012 进行开发。
据了解,我正在使用执行 SQL 任务,但对于我知道需要使用执行 T-SQL 语句任务的特定语句,我无法弄清楚如何以编程方式创建它们。
我创建常规 SQL 任务的方式如下:
Executable exec = parent.Executables.Add("STOCK:TSQLTask");
TaskHost task = exec as TaskHost;
task.Properties["Name"].SetValue(task, name);
task.Properties["Description"].SetValue(task, description);
task.Properties["Connection"].SetValue(task, connMgr.Name);
task.Properties["SqlStatementSource"].SetValue(task, sqlStatement);
创建过程的灵感来自本MSDN 指南中描述的过程。重要的方法调用是第一个。方法头:
Executable Executables.Add(string moniker)
我从这个特定的页面得到了这个绰号。不幸的是,提供的列表不包含Execute T-SQL Statement Task的名字对象。我仍然相信必须以某种方式以编程方式创建此类任务。
有人知道如何实现这一目标吗?谢谢!
感谢 William Todd Salzman 的回答,我可以使用以下方法创建所述任务:
Executable tsqlExec = p.Executables.Add(typeof(Microsoft.SqlServer.Management.DatabaseMaintenance.DbMaintenanceTSQLExecuteTask).AssemblyQualifiedName);