实例学习SSIS(四)--使用日志记录和错误流重定向

导读:

实例学习SSIS(一)--制作一个简单的ETL包

实例学习SSIS(二)--使用迭代

实例学习SSIS(三)--使用包配置

实例学习SSIS(四)--使用日志记录和错误流重定向

实例学习SSIS(五)--理论介绍SSIS

 

 

一、使用日志记录

SSIS提供的日志记录方式:

         文本文件

         SQL Server Profiler

         Windows 事件日志

         SQL Server

         XML 文件

准备工作

使用上节的包,修改myconfig.dtsConfig,将文件夹对应到D:\lyp\SQL\SSIS\package4

在文件夹下新建userinfo5.txtuserinfo6.txt

         Userinfo5.txt11|name11|我是name11|,12|name12|我是name12|

         Userinfo6.txt13|name13|我是name13|,14|name14|我是name14|

步骤:

         1、添加一条文本日志,如下图:

        

         2、指定写入日志信息的txt文件,如下图:

         3、选择要记录的事件:

        

调试:

         D:\lyp\SQL\SSIS\package4下创建了一个log.txt文件,可以看到里面有相应的事件执行记录。

二、使用错误流重定向

SSIS错误处理方式

在数据转换时很有可能会发生错误,SSIS对错误的处理方式:

1、选择忽略某些列中的失败;

2、重定向整个失败的行;

3、使组件失败。

默认情况下,所有组件发生错误时失败,从而导致包失败并停止后续处理。

为了不让包停止,发生错误时,通过配置来处理错误,通常是将失败的行重定向到别处进行处理。

准备工作

                   1、使用上面日志记录用到的包;

                   2、创建有错误的数据源文件userinfo7.txtD:\lyp\SQL\SSIS\package5\)。

                            userinfo7.txt15|name15|我是name15|,abc|name17|我是name17|,18|name18|我是name18|

                            在转换idint时会出现错误。

使用组件失败的情况

                   在“数据流”中编辑“用户来源”平面文件源,在“错误输出”中将各列的“错误”选成“组件失败”:

    调试程序,可以看到“用户来源”变成了红色,整个包停止了,文件中的数据没有被成功导入到数据库中。

使用错误流重定向

         目标

                   把出错的行重定向的别的文件(errorLog.txt)而不会使包停止。

         步骤:

                   1、拖拽一个“平面文件目标”到数据流选项卡。

                   2、把“用户来源”的红箭头拖到该目标上,在弹出的“配置错误输出”中将UiD的“错误”选择为“重定向行”。

                   3、编辑“平面文件目标”:

                            新建“平面文件链接管理器”,选择错误记录文件(errorLog.txt),如下:

 

         调试:

                   调试程序,可以看到向数据库中插入了两条记录,并在errorLog.txt中写入了出错的行。

 

posted @ 2009-10-20 10:02  青羽  阅读(6314)  评论(8编辑  收藏  举报