我遇到了一個非常奇怪的情況,我一直在使用SSIS包。在數據流中發送0行時應該調用腳本組件嗎?
我有一個foreach循環,其中包含一個數據流任務,它執行循環之前填充的記錄集對象中的每個記錄。
在數據流任務中,我有一個ADO.NET源代碼,一個查找,最後是一個目標腳本組件。腳本組件在PreExecute中初始化數據表,將輸入中的每一行都添加,post將數據表作爲表值參數發送到存儲過程。查找任務設置爲僅將不匹配的行發送到腳本組件。
奇怪的情況是,我發現當查找中的所有行都匹配時,腳本組件仍在執行時發送給它的0行。這導致了存儲過程中的錯誤,因爲我只是希望在腳本組件收到多於0行時調用它。我已經糾正了存儲過程本身的問題,首先做一個檢查,確實有數據傳入。
在其他包中,我有非常類似的情況與目標腳本組件設置後查找其中0記錄傳入,並沒有看到這種行爲發生在那裏 - 唯一的區別是它們不在foreach循環內。
所以,我真的想知道,爲了將來的參考,如果它是一個SSIS腳本組件的預期行爲,它將在傳入0行時執行?
@Siva是的,它是一個目標腳本組件。 – 2013-02-17 19:25:48