我有一个SSIS包,用于将数据从Oracle导入SQL Server。 源Oracle表是
EmpID [INTEGER],EmpTitle [VARCHAR2(20)],EmpName(VARCHAR2(50))
1001,MR,KING
1002,REVEREND,FORD
目的地表
ENO(INT),ETitle(VARCHAR(4)),ENAME(VARCHAR(50))
当我创建包时,它显示截断警告,因为目标标题字段大小仅为6.
当我第一次运行包时,它抛出了一个关于截断的错误(大小20到大小6),然后我试图将错误行重定向到临时表来分析数据,但没有完成它并重新运行包,令人惊讶的是,它不再显示截断错误并将数据移动到目的地(标题的前6个字符)。
我肯定在这里遗漏了一些东西,我可以忽略这个问题,但我想知道SSIS中的截断是如何工作的,我们可以指示SSIS忽略此错误或引发错误。
我查看了有关此主题的众多链接,但没有人提到这种奇怪的行为。请一些人了解更多。
非常感谢 约翰答案 0 :(得分:0)
截断错误是由于目标处的列宽不正确造成的。请将列宽增加到与源完全相同或更多。它应该解决这个问题。