1

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

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

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

4

2 回答 2

0

我认为没有在脚本组件中编写自己的错误处理逻辑的情况下在 SSIS 中执行此操作。您可以查看以下文章以获取更多信息:

于 2018-03-10T20:25:03.667 回答
0

因此,似乎还不能同时使用 ErrorColumnName 和 ErrorDescription 来重定向错误行。解决方法是一个两步过程。

  1. 将所有 varchar/nvarchar 字段的输出列宽设置为最大宽度 8,000。
  2. 添加一个数据转换组件,让它将步骤 1 中列出的所有字段转换为在数据库中设置的正确宽度。

您可以将组件设置为失败或重定向错误行。重定向可能会更好,这样可以在第一次运行时捕获所有错误行,而不是一次一个地进行。

于 2018-03-27T20:59:56.347 回答