2009-09-02 27 views
0

DTS包中的ActiveX腳本可以返回DTSTaskExecResult_Success或DTSTaskExecResult_Failure。有沒有一種方法可以表明,如果不失敗整個軟件包就不會取得成功?我們希望它繼續前進,但方向不同。路徑的選項是成功,失敗和完成,但它看起來是ActiveX腳本的唯一返回值是失敗和成功。 'DTSTaskExecResult_Completion'不對。什麼是?ActiveX腳本(DTS)可以返回完成而不是成功或失敗嗎?

(我們可能要去追求的解決方案是修改該到SSIS,但我想知道,如果它在DTS是可能的。)

回答

1

嘗試設置DTSTaskExecResult_Retry返回值,它會告訴你,它失敗了,但並不能完全failout

編輯:對不起,它是:DTSTaskExecResult_RetryStep


僅供參考:ActiveScriptTask對象具有對GlobalVariables集合的完全訪問權限,該集合提供了共享信息acros任務。

1

據我所知,使用ActiveX組件DTS時,您的選擇僅限於成功/失敗。 :(

-Shaun

0

是的,這些選項僅限於成功/失敗。 您也可以使用RetryStep選項,但要做什麼?該選項只需重複該步驟,DTS就不會結束。 我使用的選項是始終使用Success結果。 但之前要設置結果,我要檢查,如果我不想執行下一步,只需將任務(下一個任務)設置爲「已完成」即可。 通過這種方式,下一個任務不會被執行,並且您的目標會成功。

樣品:

Set oPackage = DTSGlobalVariables.Parent 
If HasRows = 0 Then 
    oPackage.Steps("DTSStep_DTSExecuteSQLTask_1").ExecutionStatus = DTSStepExecStat_Completed 
End If 
Main = DTSTaskExecResult_Success 

希望這可以幫助任何人。

Regards,

相關問題