【发布时间】:2018-10-07 00:46:37
【问题描述】:
我在 SSIS 中导入一个包含许多字符串列的 CSV 文件。我设置的列宽超过了最大长度,但仍然低于错误
[输入 CSV 文件 [114]] 错误:数据转换失败。数据 “功能”列的转换返回状态值 4 和 status text "文本被截断或一个或多个字符不匹配 在目标代码页中。”。
[输入 CSV 文件 [114]] 错误:“输入 CSV 文件。输出 [平面文件 源输出].Columns[Functionality]" 失败,因为截断 发生,以及“输入 CSV”上的截断行处置 File.Outputs[平面文件源输出].Columns[功能]" 指定截断失败。发生截断错误 指定组件的指定对象。
[输入 CSV 文件 [114]] 错误:处理文件时出错 数据行 236 上的“D:\Prateek\SSIS_UB_PWS\January.csv”。
[SSIS.Pipeline] 错误:SSIS 错误代码 DTS_E_PRIMEOUTPUTFAILED。这 输入 CSV 文件的 PrimeOutput 方法返回错误代码 0xC0202092。 管道引擎调用时组件返回失败代码 素数输出()。故障代码的含义由 组件,但错误是致命的并且管道停止执行。 在此之前可能会发布带有更多信息的错误消息 关于失败。
作为一种解决方法,我已将值设置为 500 或 1000,现在它允许我继续,但实际长度为两位数。
请提出可能的错误。
【问题讨论】:
-
也许导入读取了 unicode 中的 cvs 文件,并且您定义了 varchar 而不是 nvarchar ?
-
不,没有检查 Unicode。列值采用 ANSI 格式。
标签: sql-server csv import ssis truncation