在SSIS中导入CSV:截断错误

问题描述 投票:0回答:3

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

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

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

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

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

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

请建议可能出现的错误。

sql-server csv import ssis truncation
3个回答
0
投票

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


0
投票

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


0
投票

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

谢谢你的帮助!

© www.soinside.com 2019 - 2024. All rights reserved.