SSIS - 如何使用Bids调试父/子包?

时间:2012-08-22 21:54:09

标签: ssis bids cdc

我有一些软件包用于使用SQL CDC加载数据仓库数据库。该设计大致基于使用CDC的codeplex示例解决方案。

基本结构由一个Master包组成,它设置lsn区间变量,验证区间是否有效,然后为每个被拉出的数据库调用两个不同的子包1,并将它们传递给区间变量。

如果没有消除这些子包并将其内容移动到主包中的序列容器中,我是否可以使用Bids来调试包?

这些包不能单独运行,因为它们依赖于master来设置区间变量。

2 个答案:

答案 0 :(得分:2)

我在子包中使用脚本任务将变量设置为期望值,然后单独运行子包。这样你就可以在BIDS中调试它。因此,在本例中,您将在脚本任务中设置间隔值。然后,您可以在包中运行该任务(您可以将其他所有内容放在seqence容器中),然后在BIDS中运行子包。

我过去做过的另一种方法是设置子包中变量的默认值,但我更喜欢脚本任务 - 它更干净:当我完成后我删除了任务和我的包和以前一样。

如果您不确定变量值应该是什么,那么您可以运行主程序包并通过查看locals窗口从中获取值,然后使用这些值设置程序包。我希望这有助于某人。

答案 1 :(得分:0)

我的经验是,您可以在BIDS中运行父包(只要子包位于本地可以到达的位置),您将能够看到整个包的执行情况,因为它进展。调用子包时,BIDS会切换到界面中的该包,并继续向您显示流。您可以在每个包中设置数据查看器,以便在需要时可以查看数据。 (所有软件包都应该在同一个解决方案/项目中才能实现。)