0

我有一个 SQL 查询,结果为 1 或 0(基于输入)。我想在现有包中引入一个新的 DataFLow 任务,如果查询结果 1 表明 Job 失败,则必须在其中执行 DataFlow 任务。如果查询结果为 0,它必须转到下一个 DataFlow 任务吗?你能帮我解决这个问题吗?

4

2 回答 2

1
  1. 声明一个变量——比如 iResult 为 int
  2. 在控制流表面上,放置执行 SQL 任务。
  3. 设置你的 SQLStatement;说 - 选择 1 作为我的结果。
  4. 将结果集设置为单行。
  5. 转到结果集部分。将结果名称设置为 MyResult。从下拉列表中选择 User::iResult 作为变量名。
  6. 现在,将两个 DFT 放在控制流表面上。
  7. 将它们都加入您在上述步骤中处理的执行 SQL 任务(两条绿线)。
  8. 双击优先约束之一。将评估操作设置为表达式和约束,将值设置为成功,将表达式设置为 @iResult == 0。
  9. 对另一个重复,并将 Expression 设置为 @iResult == 1。

理想情况下,您应该使用布尔变量。这会带来一点挑战。我将把它作为一个小挑战留给你和下一个登陆这里的读者。:-)

于 2013-03-30T13:10:27.673 回答
0

换一种方式。使用 SQL 命令收集 1/0 并放入变量中。

然后使用该变量来决定执行哪个数据流。

于 2013-03-30T08:53:22.730 回答