0

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

(我们可能要追求的解决方案是将其修改为 SSIS,但我想知道在 DTS 中是否可行。)

4

3 回答 3

1

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

-肖恩

于 2009-09-02T18:06:02.603 回答
1

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

编辑:对不起:DTSTaskExecResult_RetryStep


仅供参考:ActiveScriptTask 对象可以完全访问 GlobalVariables 集合,它提供了一种跨任务共享信息的方法。

于 2009-09-02T18:22:58.420 回答
0

是的,选项仅限于成功/失败。您也可以使用 RetryStep 选项,但要做什么?此选项只是重复该步骤,DTS 永远不会结束。我使用的选项是始终使用成功结果。但是之前要设置结果,我会进行检查,如果我不想执行下一步,只需将任务(下一个任务)设置为已完成。通过这种方式,下一个任务不会被执行,你的目的就成功了。

样本:

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

希望这可以帮助任何人。

问候,

于 2017-09-06T10:07:49.620 回答