【发布时间】:2015-08-15 03:55:29
【问题描述】:
我一直在与一位同事一起尝试设置主 SSIS 包模板和子 SSIS 包模板。这些模板查看审计表,以识别正确的批次或创建新批次。批处理的开始和结束时间被传递到 CDC(更改数据捕获)表值函数中,该函数返回表的开始和结束 LSN。
这通过识别主包中批次的开始和结束日期来工作。然后将这些日期设置为主包中的用户变量。然后主包调用子包并将用户变量开始时间和用户变量结束时间传递给子包包级别参数。此时,我可以将日期打印或写入子包中的随机表,并且它们显示正确的值。
接下来我想添加一个数据流任务,它将使用子包包级别参数(从主包传递)在正确的时间段内运行表值函数。这应该返回可以在源查询中使用的开始和结束 LSN。不幸的是,我看到的是数据流任务从不执行数据流中的任何任务。数据流任务有一个漂亮的绿色复选标记,但如果您打开数据流,则没有执行任何任务。
我们在这个问题上摸不着头脑,甚至创建了一个简单的概念证明,它将一个值从主包传递到子包,然后尝试从子包 DFT 打印它,但它永远不会执行。
任何想法可能导致数据流被忽略但显示成功状态?
【问题讨论】: