用于数据转换的 SSIS 高级编辑器

SSIS Advanced Editor for Data Conversion

提问人:Randyness 提问时间:7/28/2023 最后编辑:billinkcRandyness 更新时间:7/31/2023 访问量:37

问:

在SSIS中,我在数据转换输入下有一个截断错误。在“数据转换高级编辑器”中,属性“TruncationRowDisposition”显示为灰色。我一直不确定为什么该属性总是显示为灰色时被列出。这让我觉得有一种方式或情况不会让它变灰。如果可能,我需要将此属性设置为RD_IgnoreFailure。我在这里找不到回答这个问题的链接,但我确定有,我只是错过了它。任何帮助将不胜感激。

这是错误:

AIM_Outbound:错误:SSIS 错误代码 DTS_E_PROCESSINPUTFAILED。The ProcessInput 组件“数据转换 - 获取性别, Cell_Phone“ (23) 失败,错误代码为 0xC020902A 处理输入“数据转换输入”(24)。这 识别的组件从 ProcessInput 方法。该错误特定于 组件,但该错误是致命的,会导致数据 流任务停止运行。可能会有错误消息

AIM_Outbound:错误:“数据转换 - 获取 性别、Cell_Phone产出[数据转换 输出]。Columns[Cell_Phone]“失败,因为截断 发生,并且截断行处置在“数据 转换 - 获取性别,Cell_Phone.Outputs[数据 转换输出]。Columns[Cell_Phone]“ 指定失败 截断。截断错误

AIM_Outbound_Students:错误:数据转换失败 将列“Cell_Phone_ORI”(259)转换为列时 “Cell_Phone”(32)。转换返回的状态值 4 和状态文本“文本被截断或一个或多个 字符在目标代码页中没有匹配项。

Boss 过去曾看到过这个问题,并试图解决它,但无济于事。它一直在发生,所以他要求我探索忽略截断。该错误在过去 3 个月内没有发生,但他和其他开发人员过去一直无法找到“坏数据”。

SSIS 数据转换 截断

评论

0赞 Brad 7/29/2023
一个技巧是将数据保存到包含所有 NVARCHAR(MAX) 的阶段表中。然后,首先使用 SP 进行一些数据验证,然后保存到要插入的表中。因此,例如,您可以在 MAX(LEN(COL)) > 50 的地方选择 col,然后将它们移动到新表或标记为未处理。然后加载其余部分。然后,您将在表中被截断或标记,并且可以稍后返回并修复(如果它有该条件,甚至可以发送警报)

答:

0赞 Paolo de Sinno 7/31/2023 #1

应将数据转换输出(而不是输入)上的截断行处置设置为“忽略失败”。

您可以从“高级编辑器”或单击“默认编辑器”上的“配置错误输出”按钮来执行此操作(请参见下面的屏幕截图)

SSIS data conversion task editor