我有一個SSIS包爲Foreach循環容器中的每個記錄發送郵件。在發送電子郵件後,我會向「發送給[email protected]的郵件」中的變量(在腳本任務中)添加一些文本。處理SSIS中的發送郵件任務失敗
但是,我還想記錄何時電子郵件失敗。在發送郵件任務後添加了另一個腳本任務,並將約束更改爲「失敗」。然後,我將其中一個電子郵件地址更改爲無效格式(如「abc」)。當我運行它時,發送郵件任務失敗,但沒有通過具有失敗約束的腳本任務。換句話說,整個軟件包因爲這個失敗而停下來。我嘗試過使用FailPackageOnFailure和FailParentOnFailure屬性來搞亂,但我仍然無法讓它工作。
有沒有更好的方式來處理呢?我認爲我的方法很簡單,但這不是預期的行爲(對我來說,無論如何)。
我將不勝感激任何建議或意見。 謝謝!
好主意。我將腳本任務添加到「發送郵件」任務的「OnError」事件中。當我用我的「壞」電子郵件地址運行它時,腳本任務圖標變爲綠色(表示它已處理)。不幸的是,發送郵件任務仍然會導致程序包失敗。對於發送郵件任務,我將FailPackageOnFailure和FailParentOnFailure設置爲「False」。感謝您的想法,但我不確定接下來會發生什麼(?) – Loki70 2011-03-25 14:37:31
您是否能夠在發送郵件任務後使用完成約束(而不是成功或失敗),以便程序包繼續執行,而不管成功與否特定任務? – grapefruitmoon 2011-03-25 14:48:39
就是這樣!我不知道爲什麼我沒有想到這一點。我想我只是習慣了「成功」的約束,我沒有正確地思考它。非常感謝您的幫助! – Loki70 2011-03-25 15:34:22