【发布时间】:2013-06-11 16:37:48
【问题描述】:
我收到此截断错误,不知道如何修复它。输入输出长度为4000。
错误:数据流任务中的 0xC02020C5,数据转换 [16]:将“描述”列 (99) 转换为“描述副本”(201) 列时数据转换失败。转换返回状态值 4 和状态文本“文本被截断或目标代码页中的一个或多个字符不匹配。”。
错误:数据流任务中的 0xC020902A,数据转换 [16]:“输出列“描述副本”(201)”失败,因为发生截断,并且“输出列“描述副本”( 201)" 指定截断失败。指定组件的指定对象发生截断错误。
错误:数据流任务中的 0xC0047022,SSIS.Pipeline:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。处理输入“数据转换输入”(17) 时,组件“数据转换”(16) 上的 ProcessInput 方法失败,错误代码为 0xC020902A。已识别的组件从 ProcessInput 方法返回错误。该错误是特定于组件的,但该错误是致命的,将导致数据流任务停止运行。在此之前可能会发布错误消息,其中包含有关失败的更多信息。
【问题讨论】:
-
由于错误消息提到了代码页,我怀疑您的问题与此有关。你的字符串是 Unicode 吗?确保使用数据类型 DT_WSTR (unicode) 而不是 DT_STR。
-
你的数据源是什么? Excel? Access 中的备注字段?还有什么?你想用这个描述做什么?从 NTEXT 转换为 DT_STR?
-
你说输入和输出的长度是4000,你的意思是你的源对象和目的对象吗?如果不是,请确保任何具有“列”属性的对象都具有正确的数据类型/长度。
-
是的源和目标是 4000。它是 Oracle 到 SQL。
-
我只是忽略了错误,数据很好。