【发布时间】:2015-07-08 11:21:36
【问题描述】:
我想要一些关于在 SSIS 中处理截断问题的建议。我在表格中有一个列 Col1,它是 MONEY。我想将它输出到一个文本文件(固定宽度,右不规则)。在输出文件中,包含 Col1 的列只能是 8 个字符宽。
在 OLEDB 数据源中,Col1 在“外部列”和“输出列”选项卡中均指定为:currency [DT_CY]。
在平面文件连接管理器的高级选项卡中,将 Col1 指定为:currency [DT_CY],InputColumnWidth 设置为 8。
如果我用 123456789.00 填充 Col1 并执行任务,OLEDB 源成功并将行传递到目标,但任务失败:
错误:0xC02020A1 在 DFT_Test,FFDEST_Test [3955]:数据转换 失败的。 “Col1”列的数据转换返回状态值 4 和状态文本“文本被截断或一个或多个字符没有 在目标代码页中匹配。”。
错误:DFT_Test 处出现 0xC02020A0, FFDEST_Test [3955]:无法复制或转换列的平面文件数据 “Col1”。
我想避免这些截断错误。在源的错误输出中,我将 Col1 的截断属性从 Fail Component 更改为 Ignore Failure。我原以为这会解决问题,但执行任务仍然会出现同样的错误。
有人可以就如何使 SSIS 简单地将列截断为 8 个字符提供一些指导吗?
【问题讨论】:
标签: sql-server ssis