我想在 SSIS 中使用查找转换并将其连接到两个平面文件目标。我知道转换有两个绿色输出,但不能使用红色错误输出而不是“无匹配输出”和“重定向行”?有什么不同?
问问题
19539 次
1 回答
10
使用 SSIS 中的查找转换,您可以控制如何处理“不匹配”情况。双击您的查找转换,然后在“常规”选项卡上,您可以通过选择以下选项之一来选择如何处理不匹配的行:
- 忽略失败:继续处理,就好像什么都没发生一样
- 失败组件:引发异常并停止处理数据流任务
- 将行重定向到错误输出:不是跟随绿色输出,而是将行移动到红色输出以单独处理。
- 将行重定向到不匹配输出:将行切换到辅助输出,允许您以不同于处理匹配数据的方式处理不匹配数据。
如果您右键单击查找并选择“显示高级编辑器”,您可以看到更多细节。跳转到“输入和输出属性”窗格,您可以看到“查找不匹配输出”和“查找错误输出”流之间的区别。
“查找错误输出”是一个标准且不可编辑的输出流,可捕获错误并将错误详细信息添加到现有列集合中,允许您处理错误、记录错误、跟踪导致错误的行等。
“查找不匹配输出”允许您定义自己的列以传递到不同的输出流和/或对无法匹配的行进行一些不同的处理。一个很好的例子是使用“查找转换”来查看在处理时是否需要向数据库中的查找表添加新行。不匹配的行可以重定向到“无匹配输出”,分组以删除重复项,然后插入数据库,而其余行继续前进。
归根结底,这取决于您要做什么。如果您想处理错误(即截断,与处理不匹配行的方式不同,那么您可以使用“查找不匹配输出”来执行此操作。
就个人而言,我宁愿使用匹配/不匹配输出来处理已知条件,并保存“错误输出”以进行实际的意外异常处理。
于 2012-12-10T17:48:00.497 回答