我试图通过删除(希望)不必要的转换来清理我所拥有的SSIS包的一些混乱。我有一个查找转换,它根据县名匹配传入的地址,并在匹配时添加一个列为县的FIPS值的列。
我想在No Match Output中添加一列,该列创建一个与FIPS列具有相同名称和类型的列,但为null。我能够添加一个列并命名,但是当我尝试分配数据类型时,它会给出一个错误,如下所示:
Error at Get Demographics [LOOKUP County [893]]: The LOOKUP County does
not allow setting output column datatype properties.
如果我尝试在没有数据类型的情况下保存它,那么我会在列上找到缺少数据类型的错误。
如何在不添加Dervied Column Transformation的情况下如何做到这一点,或者这是我唯一的选择?
答案 0 :(得分:3)
我会避免在转换的输出列中进行设置 - 它可能会导致一些有趣的行为,也可能是某人在将来支持的痛苦。
如果您要发送“不匹配”行,添加null,然后执行Union All以将所有行重新组合在一起,则设置Lookup(其中显示指定如何处理没有匹配条目的行)到忽略失败而不是将行重定向到无匹配输出。您将不再拥有“无匹配输出”,并且不需要派生列或全部联盟 - the rows with no match will simply have a null column。
为了将来参考,请注意,如果你使用Union All将两个流汇集在一起,并且一个流没有一些列the rows from that flow will simply end up with nulls - 那么就不需要手动添加空值了