Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.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 server 2005 在SSIS中重用任务_Sql Server 2005_Ssis_Code Reuse_Reusability - Fatal编程技术网

Sql server 2005 在SSIS中重用任务

Sql server 2005 在SSIS中重用任务,sql-server-2005,ssis,code-reuse,reusability,Sql Server 2005,Ssis,Code Reuse,Reusability,没有复制/粘贴,如何在SSIS中重用任务 例如,我希望使用我在事件处理程序中为另一个可执行文件中的一个可执行文件定义的任务,但不使用包中的所有可执行文件。到目前为止,除了编写一个完整的自定义组件之外,我还没有找到任何解决方案,这似乎有些过头了。有什么建议吗?您是否考虑过在包级别使用事件,并且只在您的特定条件需要时才触发过滤? 例如,您可以使用OnPostExecute事件,只需在流中放置一个名称以特定字符串(如“RunMyTasks”)开头的虚拟任务,然后检查System::SourceName

没有复制/粘贴,如何在SSIS中重用任务


例如,我希望使用我在事件处理程序中为另一个可执行文件中的一个可执行文件定义的任务,但不使用包中的所有可执行文件。到目前为止,除了编写一个完整的自定义组件之外,我还没有找到任何解决方案,这似乎有些过头了。有什么建议吗?

您是否考虑过在包级别使用事件,并且只在您的特定条件需要时才触发过滤?
例如,您可以使用OnPostExecute事件,只需在流中放置一个名称以特定字符串(如“RunMyTasks”)开头的虚拟任务,然后检查System::SourceName是否以“RunMyTasks”开头。如果是这样,则进行分支以运行任务(或者像通常一样进行分支以处理事件)

您可以使用OnVariableValueChanged做类似的事情——这可能更好(尽管您需要测试它)。创建一个RaiseChangedEvent=TRUE的变量。创建脚本任务/组件以更改变量的值;最后,将任务集放入事件处理程序中。
查看Jamie文章底部的范围说明。

如果您可以使用第三方解决方案,请查看商业图书馆。它包括增强的脚本Task Plus,它允许将脚本导出到外部文件,然后在其他包中链接和重用