我使用查找活动将值传递给每个迭代活动。Lookup 的输出值是从 SQL 表生成的。一旦迭代开始,如果 for each 中的一个活动失败,for each 迭代器尝试运行它的次数,查找输出值可用。我如何摆脱困境?我已经从 SQL 表中删除了记录,以退出循环,但循环继续运行。当内部活动失败时,如何清除 For Each Items 设置?
问候,桑迪普
我使用查找活动将值传递给每个迭代活动。Lookup 的输出值是从 SQL 表生成的。一旦迭代开始,如果 for each 中的一个活动失败,for each 迭代器尝试运行它的次数,查找输出值可用。我如何摆脱困境?我已经从 SQL 表中删除了记录,以退出循环,但循环继续运行。当内部活动失败时,如何清除 For Each Items 设置?
问候,桑迪普
当内部活动失败时,如何清除 For Each Items 设置?
不,我们不能。For Each active 暂时不支持 break,即使内部 active 失败。
许多用户在堆栈溢出和数据工厂反馈中发布了相同的问题:
它投票了 31 次,但仍然没有得到数据工厂产品团队的回应。
更新:
恭喜您找到了适合您的方案的解决方案:
“现在通过比较从查找活动中输出的变量值和文件计数来使用直到活动来解决问题。”
我将其发布在答案中,这可能对其他社区成员有益。
希望这可以帮助。
我已经用 until 活动替换了 for each 循环。until 活动的输入是一个 SQL 查询,它返回复制文件名的表中的记录计数和一个变量值。将@greater 表达式与变量值和查找活动值一起使用。在循环内部创建了逻辑以使用临时变量增加变量的值并添加表达式。如果表达式失败,则标记变量值大于查找输出值。