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

SSIS Script Component Source: How to add error output

我创建了一个 脚本组件(即数据流),它属于 source 种类。如何创建同时捕获 errorColumnNameerrorDescription 的错误输出?

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

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

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

因此,似乎还无法使用 ErrorColumnName 和 ErrorDescription 重定向错误行。解决此问题的方法是分两步进行。

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

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