在SSIS中导入CSV:截断错误

时间:2018-04-26 10:42:08

标签: sql-server csv import ssis truncation

我在SSIS中导入一个包含许多字符串列的CSV文件。我已将列宽设置为超过最大长度,但仍然低于错误

  

[输入CSV文件[114]]错误:数据转换失败。数据   “功能”列的转换返回状态值4和   状态文本“文本被截断或一个或多个字符不匹配   在目标代码页中。“。

     

[输入CSV文件[114]]错误:“输入CSV文件。输出[平面文件   源输出] .Columns [功能]“因为截断而失败   发生,并在“输入CSV”上截断行处置   File.Outputs [平面文件源输出] .Columns [功能]“   指定截断失败。发生截断错误   指定组件的指定对象。

     

[输入CSV文件[114]]错误:处理文件时发生错误   数据行236上的“D:\ Prateek \ SSIS_UB_PWS \ January.csv”。

     

[SSIS.Pipeline]错误:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。该   输入CSV文件上的PrimeOutput方法返回错误代码0xC0202092。   当管道引擎调用时,组件返回失败代码   PrimeOutput()。失败代码的含义由   组件,但错误是致命的,管道停止执行。   在此之前可能会发布错误消息以获取更多信息   关于失败。

作为一种解决方法,我将值设置为500或1000,现在它允许我继续,但实际长度是两位数。

请建议可能出现的错误。

3 个答案:

答案 0 :(得分:0)

检查第236行第二行“功能”的值是多少。然后,验证允许的内容。在源的高级编辑器中,如果要将数据加载到表中,可以增加长度(如果没有任何特殊字符)

答案 1 :(得分:0)

当源列长度大于目标列长度时,将显示截断警告,因此它将截断源值以适合其目标。你能和我们分享一下列长的长度和目标列的长度吗?

答案 2 :(得分:0)

我收到错误,抱歉我对问题的理解不好。 实际上,其中一列在数据中有多个逗号(,),并且正在进入其他列(文本分隔符设置为)。因此,我在其他专栏中的价值也超出预期。

谢谢你的帮助!