为阐释如何配置和处理转换错误,必须创建一个在处理时导致组件失败的示例平面文件。
在本任务中,将创建现有示例平面文件的一个副本。 然后,用记事本打开该文件,编辑 CurrencyID 列,以确保该列在转换查找期间无法生成匹配项。 处理新文件时,查找失败将导致 Currency Key 查找转换失败,因此,包的剩余部分将失败。 创建了损坏的示例文件后,将运行包以查看包失败的情况。
创建损坏的示例平面文件
在记事本或任何其他文本编辑器中,打开 Currency_VEB.txt 文件。
示例数据与 SSIS 课程包一起提供。 若要下载示例数据和课程包,请执行以下操作。
单击“下载”选项卡。
单击 SQL2012.Integration_Services.Create_Simple_ETL_Tutorial.Sample.zip 文件。
使用文本编辑器的查找和替换功能,查找 VEB 的所有实例,并将其替换为 BAD。
在包含其他示例数据文件的同一文件夹中,将修改后的文件另存为 Currency_BAD.txt。
重要提示确保将 Currency_BAD.txt 与其他示例数据文件保存在同一文件夹中。
关闭文本编辑器。
验证是否将在运行时发生错误
在**“调试”菜单中,单击“启动调试”**。
在数据流第三次迭代时,Lookup Currency Key 转换将尝试处理 Currency_BAD.txt 文件,并且该转换将失败。 转换失败将导致整个包失败。
在**“调试”菜单中,单击“停止调试”**。
在设计图面上,单击**“执行结果”**选项卡。
浏览日志,确认是否发生了以下未处理的错误:
[Lookup Currency Key[27]] Error: Row yielded no match during lookup.
注意数字 27 为组件的 ID。 该值在生成数据流时进行分配,可能与包中的值不同。