是否可以将行id传递给SSIS中的错误输出?

是否可以将行id传递给SSIS中的错误输出?,ssis,Ssis,我有一个平面文件,其中行具有guid形式的ID。我需要的是将错误输出重定向到具有错误行id、错误列和错误代码的表。问题是我只能映射“平面文件源错误输出列”,这是某种其他列的串联。有没有办法获取错误行的ID列值?我能找到的最佳解决方案是添加计数器,它将给出行号,但这并不是我所需要的,因为在我的例子中ID是字符串。不。从平面文件源组件的:平面文件源错误输出列、错误代码、错误列中获得3*列 源组件定义该点的所有“下游”行缓冲区将包含的列。它负责添加行,然后填充新行缓冲区中的列 平面文件源组件有一个契约

我有一个平面文件,其中行具有guid形式的ID。我需要的是将错误输出重定向到具有错误行id、错误列和错误代码的表。问题是我只能映射“平面文件源错误输出列”,这是某种其他列的串联。有没有办法获取错误行的ID列值?我能找到的最佳解决方案是添加计数器,它将给出行号,但这并不是我所需要的,因为在我的例子中ID是字符串。

不。从平面文件源组件的:平面文件源错误输出列、错误代码、错误列中获得3*列

源组件定义该点的所有“下游”行缓冲区将包含的列。它负责添加行,然后填充新行缓冲区中的列

平面文件源组件有一个契约,描述它应该如何使用源数据——这么多的列、分隔符(或这么多的字符)等等

当某个内容溢出了某个长度,或者数据类型不兼容,或者并非所有分隔符都存在时,会发生什么情况?设计决策是要么将不完整的行放入管道(但是如何确定填充哪些列-从左向右填充?类型不匹配如何?),要么将其视为错误。通常,这会破坏数据流,但如果添加错误输出路径,则可以看到哪一行失败。 行是平面文件用作输入的原子单位

Read line -> Parse -> Write to Output [or Error] buffer {loop}
然后,您可以使用脚本任务尝试从“平面文件源错误输出列”中解析出GUID,但您必须希望该值位于行中。可能是某个列有一个未转义的嵌入式分隔符,有人使用错误的编码/行尾传输了文件,等等

*平面文件源组件确实在高级编辑器的“组件属性”选项卡中公开了一个属性,该属性也将显示在错误输出路径中,但这是我知道的唯一具有此行为的源组件