SSIS脚本组件源:如何添加错误输出

时间:2018-03-09 22:12:23

标签: c# sql-server ssis etl script-component

我创建了一个类型的脚本组件(即数据流)。如何创建捕获errorColumnNameerrorDescription的错误输出?

为我发现的脚本组件创建错误输出的唯一实现假定组件是转换。两者之间的关键区别,至少从我所知道的是,转换可以访问Process_Input(Row),而源组件正在创建一行,因此Process_Input及其Row成员不可用。

上下文:源组件在某些字符串类型的列上失败,并且错误超出了缓冲区。但是,没有提供有关错误列名称或错误值的信息。我可以通过将数据发送到平面文件输出来识别错误列,但我不希望这样做。

2 个答案:

答案 0 :(得分:0)

我不认为有一种方法可以在SSIS中执行此操作,而无需在脚本组件中编写自己的错误处理逻辑。您可以查看以下文章以获取更多信息:

答案 1 :(得分:0)

因此,似乎无法使用ErrorColumnName和ErrorDescription重定向错误行。解决方法是两个步骤。

  1. 将所有varchar / nvarchar字段的输出列宽设置为 最大宽度为8,000。
  2. 添加数据转换组件并拥有它     将步骤1中列出的所有字段转换为正确的宽度     它在数据库中设置。
  3. 您可以将组件设置为失败或重定向错误行。重定向可能更好,因此可以在第一次运行时捕获所有错误行,而不是一次一个地删除它。