实例学习SSIS(四)--使用日志记录和错误流重定向
导读:
实例学习SSIS(一)--制作一个简单的ETL包
实例学习SSIS(二)--使用迭代
实例学习SSIS(三)--使用包配置
实例学习SSIS(四)--使用日志记录和错误流重定向
实例学习SSIS(五)--理论介绍SSIS
一、使用日志记录
SSIS提供的日志记录方式:
文本文件
SQL
Server Profiler
Windows
事件日志
SQL
Server
XML
文件
准备工作
使用上节的包,修改myconfig.dtsConfig,将文件夹对应到D:\lyp\SQL\SSIS\package4。
在文件夹下新建userinfo5.txt和userinfo6.txt。
Userinfo5.txt:11|name11|我是name11|男,12|name12|我是name12|女
Userinfo6.txt:13|name13|我是name13|男,14|name14|我是name14|女
步骤:
1、添加一条文本日志,如下图:

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

3、选择要记录的事件:

调试:

在D:\lyp\SQL\SSIS\package4下创建了一个log.txt文件,可以看到里面有相应的事件执行记录。
二、使用错误流重定向
SSIS错误处理方式
在数据转换时很有可能会发生错误,SSIS对错误的处理方式:
1、选择忽略某些列中的失败;
2、重定向整个失败的行;
3、使组件失败。
默认情况下,所有组件发生错误时失败,从而导致包失败并停止后续处理。
为了不让包停止,发生错误时,通过配置来处理错误,通常是将失败的行重定向到别处进行处理。
准备工作
1、使用上面日志记录用到的包;
2、创建有错误的数据源文件userinfo7.txt(D:\lyp\SQL\SSIS\package5\)。
userinfo7.txt:15|name15|我是name15|男,abc|name17|我是name17|女,18|name18|我是name18|女
在转换id为int时会出现错误。
使用组件失败的情况
在“数据流”中编辑“用户来源”平面文件源,在“错误输出”中将各列的“错误”选成“组件失败”:

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

使用错误流重定向
目标
把出错的行重定向的别的文件(errorLog.txt)而不会使包停止。
步骤:
1、拖拽一个“平面文件目标”到数据流选项卡。
2、把“用户来源”的红箭头拖到该目标上,在弹出的“配置错误输出”中将UiD的“错误”选择为“重定向行”。
3、编辑“平面文件目标”:
新建“平面文件链接管理器”,选择错误记录文件(errorLog.txt),如下:


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

实例学习SSIS(四)--使用日志记录和错误流重定向的更多相关文章
- 【干货】.NET开发通用组件发布(四) 日志记录组件
组件介绍和合作开发 http://www.cnblogs.com/MrHuo/p/MrHuoControls.html 日志记录组件功能介绍 通过基类Logger,实现了文本记录日志和数据库记录日志两 ...
- Python 日志记录与程序流追踪(基础篇)
日志记录(Logging) More than print: 每次用 terminal debug 时都要手动在各种可能出现 bug 的地方 print 相关信息来确认 bug 的位置: 每次完成 d ...
- 实例学习SSIS(五)--理论介绍SSIS
原文:实例学习SSIS(五)--理论介绍SSIS 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS( ...
- 实例学习SSIS(三)--使用包配置
原文:实例学习SSIS(三)--使用包配置 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS(四)- ...
- 实例学习SSIS(二)--使用迭代
原文:实例学习SSIS(二)--使用迭代 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS(四)-- ...
- 实例学习SSIS(一)--制作一个简单的ETL包
原文:实例学习SSIS(一)--制作一个简单的ETL包 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SS ...
- 从零开始编写自己的C#框架(20)——框架异常处理及日志记录
最近很忙,杂事也多,所以开发本框架也是断断续续的,终于在前两天将前面设定的功能都基本完成了,剩下一些小功能遗漏的以后发现再补上.接下来的章节主要都是讲解在本框架的基础上进行开发的小巧. 本框架主要有四 ...
- 第十二篇 Integration Services:高级日志记录
本篇文章是Integration Services系列的第十二篇,详细内容请参考原文. 简介在前一篇文章我们配置了SSIS内置日志记录,演示了简单和高级日志配置,保存并查看日志配置,生成自定义日志消息 ...
- 第十一篇 Integration Services:日志记录
本篇文章是Integration Services系列的第十一篇,详细内容请参考原文. 简介在前一篇,我们讨论了事件行为.我们分享了操纵事件冒泡默认行为的方法,介绍了父子模式.在这一篇,我们会配置SS ...
随机推荐
- python带cookie提交表单自动登录(转)
今天突然把博客给申请了,以前也想过的,奈于自己觉得水平还太低有点不好意思写博客,但是后来一想,自己的记录所学,加深印象,主要还是为了学习进步,不怕丢人!今天就稍微回顾一下这两天写的一段用python模 ...
- Sublime Text Package Collections
JavaScriptNext - ES6 Syntax packagecontrol.io github.com Better JavaScript language definition for T ...
- 基于NSIS脚本开发的安装程序制作软件:易量安装
原文 基于NSIS脚本开发的安装程序制作软件:易量安装 前几天“萝卜”给我推荐了一款安装程序制作工具——易量安装. 易量安装是一款安装程序制作软件,基于著名的NSIS(Nullsoft Scripta ...
- ExecutorService invokeAll 实例(转)
10个班级,每个班级20名学生,在指定的时间内查询每个班级学生的集合. package cn.com.ld.study.thread; import java.util.ArrayList; impo ...
- CODE - TSQL convert Query to JSON
原文 ODE - TSQL convert Query to JSON TSQL - Query to JSON It is my philosophy that good development s ...
- 设计模式--模板方法 And State模式
1.模板方法 钩子: 在抽象基类已经有默认的定义,子类选择是否覆盖它 在模板方法模式中, 抽象基类中使用 钩子函数(子类视情况是否覆盖) 来达到控制模板方法中 流程控制的 目的 设计原则: ...
- C++“窗体”程序设计启蒙
[摘要]本文以C++菜菜鸟(仅仅须要学习了C++数据类型和控制结构就可以)为目标读者,用求解一元二次方程作为实例,展示窗体式程序的开发过程,获得初步体验.写作目的包含:(1)让学生通过模仿,开发出类似 ...
- Java存储区域——JVM札记<一个>
Java当虚拟机数据区域 执行数据区主要包括:方法区.堆.VM栈.本地方法栈.程序计数器. 当中方法区和栈是线程共享的区域,另外三块区域是每一个线程私有的区域.各个数据区的功能简单说明例如以下: 程序 ...
- Learn Python More
0, 看了一个python项目开源源码, 才知道现在这点python知识实在是弱爆了.. 尼玛就像学了2500个常用汉字, 然后要去理解"楚辞".. 代码如下, 解释一点一点从网上 ...
- Android通过使用Properties保存配置
读写功能,如下面分别: import java.io.FileInputStream; import java.io.FileOutputStream; import java.util.Proper ...