SSIS 平面文件错误 "Text was truncated or one or more characters had no match in the target code page."

SSIS Flat File error "Text was truncated or one or more characters had no match in the target code page."

我正在处理一个 SSIS 项目。我有一个平面文件源 (csv) 和 OLE DB 作为目标。我有一个名为 WrapUpName 的列,数据类型为 Unicode string [DT_WSTR]Outputcolumnwidth - 50 仅包含这些数据之一 Successfull,Unsuccessfull,ACPS FC: Always Busy or Ringing or Unattended,我的目标列是 nvarchar(50)

我收到了这些错误消息

Data conversion failed. The data conversion for column "WrapUpName" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page."

这真的很奇怪,因为在检查错误行时,WrapUpName 列中的数据是 Successfull,我的 IS 可以毫无问题地处理它。经过研究,我知道修复方法是将 code page 设置为 UTF-8 ,这是我第一次做的,或者调整数据类型的长度是正确的,但我想知道是什么触发了错误。

看看这个 link:

https://social.msdn.microsoft.com/Forums/sqlserver/en-US/32129879-90e1-491e-8c80-f3c3cf6eb0e0/how-to-avoid-truncation-error-in-ssis-for-flat-file?forum=sqlintegrationservices

描述了解决该问题的两种方法。

好的,就我而言,我忘记在导出向导的 SQL 服务器 'Select Source' 页面中单击 'Unicode' 复选框。