我有条件需要根据条件(将只是一个int值)将条件分割结果提供给变量。有人可以帮忙怎么做?
我的实际包裹(数据流):
XML Source
- > Conditional split
(基于条件)2输出..基于条件的结果(将只是一个int值)需要将其传递给变量。怎么做到这一点?
答案 0 :(得分:3)
纯SSIS方式 - 将您的数据流消耗到Recordset Destination,然后使用ForEach循环遍历它,为所需变量赋值。
答案 1 :(得分:2)
您必须使用脚本组件来实现此目的:
ReadWrite
变量。 (在我的示例中,变量名为结果 在脚本窗口中编写以下代码
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
If Not Row.inColumn_IsNull Then
Variables.Result = Row.inColumn
End If
End Sub
旁注:在dataflowtask
执行完成之前,变量值不会更改,要使用您在另一个dataflowtask
继续工作的新值
答案 2 :(得分:0)
我知道有两种方法可以实现这一点。
首先:用C#脚本组件做,这是最简单的方法。 只需将一个脚本组件放在条件拆分后面,选择您的变量为“ReadWrite”,然后在代码中将其设置为:
Dts.Variables["yourvariable"].Value = Input0Buffer.Yourcolumn
我现在无法访问SSIS,所以我无法提供确切的代码,但这应该可以让您入门。
第二:写入表并使用“执行SQL”任务将其读回。我真的不喜欢这种方式; - )