SSIS Merge Join不保留两个输入表中输入字符串列的字符长度。我该如何解决这个问题?
sort transforms
加入合并连接转换。 left outer join
编辑器中执行了merge transform
并通过将鼠标悬停在图表中的列名称来确认输入的长度 32 。 但是,输出列的长度 50 ,这会导致有关截断的验证警告。我没有看到合并加入的高级编辑选项,所以我不知道为什么会发生这种情况或如何解决它。
之前有人处理过此事吗?
答案 0 :(得分:1)
所以,我终于找到了 解决方案。删除merge join transform
并将其添加回来。似乎输入列最初设置为50,merge join transform
显然缓存了列的最大大小。如果我从数据源增加了列的大小,merge join transform
中的列大小也会增加,但是当我减小列的大小时,它会保持较大的大小。在没有删除组件并重新添加组件的情况下,我无法刷新此元数据。
答案 1 :(得分:1)
另一种解决方案是,如果不想删除转换然后再次将其重新添加(使用PITA),则可以编辑XML并更新合并联接中列的属性cachedLength =。
我希望微软会解决此问题。
答案 2 :(得分:0)
删除合并联接转换并将其添加回并重新映射所有列即可。