Pix*_*ted 11 ssis ssms sql-server-2008
在我给自己某种压力相关的心脏病发作之前.
有谁知道如何完成看似简单的任务设置一个数据流任务的结果集(结果将是0或1)并将该值分配给变量.
我创建了变量ok.
结果集来自具有多个元素的XML文件.标志(0或1)是其中一个元素的结果,因此我还需要知道如何将结果集作为该标志.
如果有人可以提供帮助,我真的很感激.
更新:我最终将结果(0,1)读回SQL Server进入标志表.然后使用Execute SQL脚本将其从SQL Server读取回变量.不确定这是否是完成它的最佳方式,但似乎已经完成了这个伎俩.
bob*_*obs 10
您可以使用数据流脚本组件将数据流列值传输到SSIS变量.但是,在使用数据流脚本组件和SSIS变量时,必须遵循某些规则.
SSIS不允许您在处理行的脚本过程中为SSIS变量赋值.但是有执行前和执行后的过程,您可以在其中处理分配.
在脚本组件中,将SSIS变量添加到ReadWriteVariables属性.编辑脚本并在ScriptMain类中声明变量.使用PreExecute过程初始化变量.使用ProcessInputRow过程将输入-buffer列值分配给脚本变量.并且,使用PostExecute任务将脚本变量中的值分配给SSIS变量.
这是一个示例VB脚本组件.它有一个SSIS变量(MyOutVariable),它将获取脚本变量(MyVar)的输出.MyVar变量从数据流中的MyNumber列获取它的值.
Public Class ScriptMain
Inherits UserComponent
Dim MyVar As Integer
Public Overrides Sub PreExecute()
MyBase.PreExecute()
'initialize variable local to data flow
MyVar = 0
End Sub
Public Overrides Sub PostExecute()
MyBase.PostExecute()
' output variable value to SSIS variable
Me.Variables.MyOutVariable = MyVar
End Sub
Public Overrides Sub Input0_ProcessInputRow(ByVal Row As Input0Buffer)
' logic to get value
MyVar = Row.MyNumber
End Sub
End Class
Run Code Online (Sandbox Code Playgroud)