ActiveX脚本(DTS)可以返回完整而不是成功或失败吗?

时间:2009-09-02 18:01:27

标签: sql-server sql-server-2005 activex dts

DTS包中的ActiveX脚本可以返回DTSTaskExecResult_Success或DTSTaskExecResult_Failure。有没有办法表明,如果没有使整个包裹失败,它不会成功?我们希望它继续前进,但是方向不同。路径的选项是“成功”,“失败”和“完成”,但似乎ActiveX脚本的唯一返回值是“失败”和“成功”。 'DTSTaskExecResult_Completion'不对。是什么?

(我们可能会采用的解决方法是将其修改为SSIS,但我想知道DTS是否可行。)

3 个答案:

答案 0 :(得分:1)

据我所知,在使用ActiveX DTS组件时,您的选项仅限于成功/失败。 :(

-Shaun

答案 1 :(得分:1)

尝试设置 DTSTaskExecResult_Retry 返回值;它告诉你它失败了,但没有彻底失败?

编辑:抱歉它是: DTSTaskExecResult_RetryStep


仅供参考:ActiveScriptTask对象具有对GlobalVariables集合的完全访问权限,该集合提供了跨任务共享信息的方法。

答案 2 :(得分: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

希望这对任何人都有帮助。

此致