2016-02-22 42 views
1

我試圖根據SSIS包中用戶變量的值有條件地設置變量/ SQL參數。如果ReprocessBatch等於0設置@SuccessFailure ='S'ELSE設置@SuccessFailure ='RS'有條件地在SSIS表達式中設置變量/參數

這是可行的嗎?如果是的話,語法是什麼?

(@[User::ReprocessBatch] == 0? @SuccessFailure='S':@SuccessFailure= 'RS'),

回答

1

我發現它不能完成,因爲我試圖做到這一點。我試圖從稱爲存儲過程的SQL任務表達式中設置參數值。

要解決我不得不添加名爲@SuccessFailure的包變量並將參數映射到SQL任務中。

步驟: 1)添加包可變SuccessFailure並設置表達式: (@[User::ReprocessBatch] == 0? "S":"R") 2)在SQL任務參數映射,添加變量名: User::SuccessFailure of type string and Parameter Name of @SuccessFailure 3)編輯SQL任務表達調用存儲過程: "exec etl." + @[User::ProjectName] + ".EndETLLog @SuccessFailure= @SuccessFailure;"

0

對不起,我遲到了,看到你的文章時,谷歌搜索其他東西。我相信你會在表達式任務中找到正確的方式來有條件地分配一個變量。但是,如果你還沒有,這是我要做的事:

內表達任務: @SuccessFailure =(@ [用戶:: ReprocessBatch] == 0 'S': 'RS')