C# 将结果集添加到具有可执行文件的SSIS SQL任务

C# 将结果集添加到具有可执行文件的SSIS SQL任务,c#,.net,ssis,C#,.net,Ssis,如何将ExecuteSQLTask(Microsoft.SqlServer.SQLTask)的实例添加到DtsEventHandler 构建ExecuteSQLTask是一个复杂的过程,但是将其添加到事件处理程序可能需要某种类型的强制转换 我不希望以这种方式创建它,因为我不能以这种方式向结果集添加参数映射。除非有办法在下面的可执行文件中添加参数 DtsEventHandler ehOnError = (DtsEventHandler)package.EventHandlers.Add(

如何将ExecuteSQLTask(Microsoft.SqlServer.SQLTask)的实例添加到DtsEventHandler

构建ExecuteSQLTask是一个复杂的过程,但是将其添加到事件处理程序可能需要某种类型的强制转换

我不希望以这种方式创建它,因为我不能以这种方式向结果集添加参数映射。除非有办法在下面的可执行文件中添加参数

     DtsEventHandler ehOnError = (DtsEventHandler)package.EventHandlers.Add("OnError");

 Executable execOnError = ehOnError.Executables.Add("STOCK:SQLTask");
            TaskHost thOnError = (TaskHost)execOnError;
            thOnError.Name = "sql_Exec_LogMessage_Error";
            thOnError.SetExpression("SqlStatementSource", "@[User::sql_LogMessageError]");
            thOnError.Properties["Connection"].SetValue(thOnError, cmag.ID);
// Parameter mapping?

您现在不需要ExecuteSQLSTASK,然后按照其参数绑定示例进行操作吗

Executable execOnError = ehOnError.Executables.Add("STOCK:SQLTask");
TaskHost thOnError = (TaskHost)execOnError;
thOnError.Name = "sql_Exec_LogMessage_Error";
thOnError.SetExpression("SqlStatementSource", "@[User::sql_LogMessageError]");
thOnError.Properties["Connection"].SetValue(thOnError, cmag.ID);

ExecuteSQLTask task = thOnError.InnerObject as ExecuteSQLTask;
...
task.ParameterBindings.Add();
IDTSParameterBinding parameterBinding = task.ParameterBindings.GetBinding(0);
parameterBinding.DtsVariableName = "User::Variable";
parameterBinding.ParameterDirection = ParameterDirections.Input;
...

我不明白你的意思。或者更确切地说,我看到他们在引用的文章上做了什么,但没有遵循引用的文章没有做的事情。你能编辑一下吗?