2010-09-02 57 views
3

如何在不復制/粘貼的情況下在SSIS中重用任務?重複使用SSIS中的任務

例如,我想使用我在事件處理程序中爲另一個可執行文件中的一個可執行文件定義的任務,但不是使用該包中的所有可執行文件。到目前爲止,除了編寫一個完整的自定義組件外,我還沒有找到任何解決方案,這似乎是過度殺傷性的。有什麼建議麼?

回答

0

您是否考慮過在包級別使用事件,並在您的特定條件需要時過濾以僅觸發?
例如您可以使用OnPostExecute事件,只需在您的流程中添加一個名稱以「RunMyTasks」之類的特定字符串開頭的虛擬任務,然後檢查System :: SourceName以查看它是否以「RunMyTasks」開頭。如果確實如此,那麼分支運行你的任務(否則就像通常那樣分支來處理事件)。

你可以使用OnVariableValueChanged做類似的事情 - 這可能會更好(儘管你需要測試它)。用RaiseChangedEvent = TRUE創建一個變量。創建腳本任務/組件以更改變量的值;最後,把你的任務集放入事件處理程序中。 檢查Jamie的帖子here底部的範圍註釋。

0

如果您可以使用第三方解決方案,請檢查商業CozyRoc SSIS+庫。它包括增強的Script Task Plus,它允許將腳本導出到外部文件,然後在其他包中鏈接和重用。