我试图通过删除(希望)不必要的转换来清除SSIS包的一些混乱。我有一个查找转换,它按县名称匹配传入地址,并在匹配时添加具有县 FIPS 值的列。
我想向"不匹配输出"添加一个列,该列创建一个与 FIPS 列具有相同名称和类型但为 null 的列。我可以添加一列并命名它,但是当我尝试分配数据类型时,它给了我一个错误,如下所示:
Error at Get Demographics [LOOKUP County [893]]: The LOOKUP County does
not allow setting output column datatype properties.
如果我尝试在没有数据类型的情况下保存它,则会出现列上缺少数据类型的错误。
任何线索如何在不必添加派生列转换的情况下做到这一点,或者这是我在这里唯一的选择?
我会避免在转换的输出列中进行设置-它可能会导致一些有趣的行为,并且将来可能会使某人感到痛苦。
如果要发送"无匹配"行,添加一个 null,然后执行 Union All 以将所有行重新组合在一起,则将"查找"(此处显示"指定如何处理没有匹配条目的行")设置为"忽略失败",而不是将行重定向到无匹配输出。您将不再有"无匹配输出",也不需要"派生列"或"全部并集"- 没有匹配项的行将只有一个空列。
为了将来参考,请注意,如果您执行 Union All 以将两个流组合在一起,并且一个流没有某些列,则该流中的行将仅以 null 结尾 - 因此无需手动添加 null。