在SSIS中重用任务

时间:2010-09-02 16:11:05

标签: sql-server-2005 ssis code-reuse reusability

如何在没有复制/粘贴的情况下在SSIS中重用任务?

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

2 个答案:

答案 0 :(得分:0)

您是否考虑过在套餐级别使用某个活动,并过滤到仅在您的特定条件需要时才会启动? 例如。你可以使用OnPostExecute事件,只需在你的流中放置一个名为以“RunMyTasks”之类的特定字符串开头的名称,然后检查System :: SourceName以查看它是否以“RunMyTasks”开头。如果是,则分支以运行您的任务(否则分支以正常处理事件)。

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

答案 1 :(得分:0)

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