第 5 课:添加错误流重定向

为了处理在转换过程中可能发生的错误,Microsoft Integration Services 使您能够基于每个组件和每个列来决定如何处理无法转换的数据。可以选择忽略某些列中的失败、重定向整个失败的行或者只是使组件失败。默认情况下,Integration Services 中的所有组件被配置为在发生错误时失败。而使组件失败又会导致包失败,并使所有后续处理停止。

如果不让失败导致包停止执行,一个好方法是通过配置使在转换中发生潜在处理错误时这些错误能够得到处理。虽然可能选择忽略失败以确保包成功运行,但通常更好的做法是将失败的行重定向到另一个处理路径,在这里可以使数据和错误持久化、接受检查并在随后的某个时间对其进行重新处理。

在本课中,将创建在第 4 课:添加日志记录中开发的包的副本。使用这个新包时,将创建一个示例数据文件的损坏版本。损坏的文件将在运行包时强制发生处理错误。

为了处理错误数据,您将添加并配置一个平面文件目标,它会将所有无法在 Lookup Currency Key 转换中找到查找值的行写入文件。

将错误数据写入文件之前,需要包括一个使用脚本获取错误说明的脚本组件。然后,将重新配置 Lookup Currency Key 转换,以便将所有无法处理的数据重定向到脚本转换中。

重要说明重要提示

本教程需要 AdventureWorksDW 示例数据库。有关如何安装和部署 AdventureWorksDW 的详细信息,请参阅安装 SQL Server 示例和示例数据库的注意事项