我已经创建了一个SSIS包,它指定了一个包含10列的表的5列作为我的数据源。该数据源被馈送到下游的其他几个SSIS组件。
如果我想更改数据源中引用的列,要么包含其他5列,要么从我指定的原始列中删除列,是否有办法轻松传播其他列或缺少下游的组件?
答案 0 :(得分:2)
这取决于您在SSIS包中所做的事情。如果您有asynchronous components,则需要触摸其中的每一个,以便让它知道新列应该通过它们。
如果您的数据类型相同,而您只想将column6
替换为column4
,则可以在查询中完成此操作,这样就可以了。因此
SELECT column6 as column4, ... FROM mysource
只要数据类型匹配,SSIS就应该随之滚动。你的软件包的未来维护者可能不会欣赏它。
答案 1 :(得分:1)
新元数据将自动传播到下游。只要您不在下游使用它们,就不需要修改任何内容。但是,如果从源修改“原始”列,则需要在使用该列的所有组件中刷新元数据。如果没有任何组件使用它,你应该没问题。
更改无法单独传播,需要程序员进入并相应地检查每个组件的元数据。