日期:2014-05-17  浏览次数:20804 次

新手请教SSIS错误处理
我建了一个ssis包,如果我在数据流任务中从一个【OLE DB 源】中取一张表中的数据,接着用【OLE DB 命令】来执行insert语句插入另一张表,但是出现错误,这时我如何才能捕捉到出错的是在哪张表的哪条记录呢?就是获取出错的表表名和出错数据的主键。这时的错误信息能获取吗?
这里没用OLE DB 目标组件而用OLE DB 命令,是因为我要找寻错误/异常的捕捉。还请高手予以解答。感谢·

------解决方案--------------------
错误处理可以用以下三种方式:
1、在控制流页面双击绿色箭头,选择‘失败’。下一个控制流的组件可以执行 任务失败时程序需要执行的动作。
2、在数据流中拉出红色箭头连接下一个组件,这样可以把出错的具体的数据行加载到error表或是某个平面文件。
3、在‘事件处理程序’中,选择‘onError’,在其中添加任务执行失败时你需要程序执行的操作(类似1)。

如果只是要把出错的数据插入到某个地方,用方法2就可以了。如果是需要执行其他操作就用1和3。1和3基本相同,只是通常把错误处理统一放在‘事件处理程序’中方便管理。