在SSIS中执行DFT时,行计数转换设置的变量值是否生效?或者条件分割可以正确读取变量吗?

2024-03-08

我有一个 SSIS 包,其中有 1 条记录(硬编码)流经。

我在 DFT 范围内有变量。

我使用行计数转换为变量赋值。

该值应该是 1 我通过使用脚本组件验证它。

 public override void PostExecute()
  {
    System.Windows.Forms.MessageBox.Show(ReadWriteVariables[0].Value.ToString());
    base.PostExecute();
    /*
      Add your code here for postprocessing or remove if not needed
      You can set read/write variables here, for example:
      Variables.MyIntVar = 100
    */
  }

我在条件分割变换中通过条件寻找零条件。

奇怪的是,它满足等于零的条件,而我认为它应该具有值 1。甚至通过脚本组件的 Messagebox 显示值 1。

可能是什么原因?变量中的值是否仅在 DFT 结束时实现,或者条件分割在读取正确值或其他我无法想到的内容时存在一些问题?


的价值variable被分配在一个data flow task不能用于split transformation或稍后在数据流任务中。值通常得到populated一旦 DFT 得到completed .

Variable values does not update during the execution of Data Flow task 

即使你能够看到value 1或设置一些其他值Variable从执行后或执行前事件中的脚本转换,这些值仅在执行后生效DFT

因此,更新后的值可以用于优先约束或控制流中的其他任务。

Read this http://microsoft-ssis.blogspot.in/2011/02/how-to-skip-trailer-records.html文章 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在SSIS中执行DFT时,行计数转换设置的变量值是否生效?或者条件分割可以正确读取变量吗? 的相关文章

随机推荐