【发布时间】:2019-10-29 04:40:11
【问题描述】:
我有一个 SSIS 包,我在其中尝试使用 For 循环来检查条件(Web 服务响应)。我在 SSIS 中的 EvalExpression 中有一个条件,并且我在循环内的数据流任务中设置该 EvalExpression 中的变量之一。我还记录了表达式以及表达式中的变量,当 EvalExpression 变为 false 时,循环继续进行。有人可以解释为什么会这样吗?或者我怎样才能在每次迭代中获得真正的 EvalExpression。
这是我的 EvalExpression
(@[User::statusMessageLoop] == 1 && @[User::statusMessageLoopCheck] == 1)
变量 User::statusMessageLoopCheck 在循环的每次迭代中设置,当我希望它跳出循环时,我将其设置为 0。
我希望下面的图片有助于解释我的情况,并感谢大家的意见。
【问题讨论】:
-
如何设置循环检查变量?
-
@KeithL - 在 For 循环内的数据流任务中,我使用派生列读取 XML Web 服务响应并将名为 statusMessageIndicator 的变量设置为 1 或 0,具体取决于来自 Web 服务的状态消息。在这一步之后,我使用 zappysys 包(设置变量转换,zappysys.com/onlinehelp/ssis-powerpack > 转换 > 设置变量转换)将 LoopCheck 变量设置为 statusMessageIndicator 带回的任何内容。我也知道这是不需要的额外代码,但我正在尝试不同的东西,所以我离开了它。谢谢
-
我也使用 ZappySys,但没有使用过那个对象。让我给你一个关于如何使用脚本任务的答案。
标签: ssis