【Datastage】Datastage 11.5版本中Table action下的一个坑

1.事件描述

今天在装载数据到db2的时候,发现一个致命的坑,这个坑如果不细心,估计上线运行很久了才能发现,下面是我的ds装载作业,如下图:

上述作业实现了数据文件入库到DB2的test表。在DB2控件中,我将一个错误的是清空表语句写在了Table action中,如下:错误的表名abc,表abc在DB2中是不存在的

然后运行作业,加载数据入库,竟然TM的成功了,查看日志如下:

在日志中我们可以看到①的信息是info,②是错误信息,箭头所指的是DS报错的详细信息,③竟然还提示清空表成功了。试试上,无论执行这个作业多少次,如果你这个表设置主键的话,那么他会一直往这个表装数据。

2.解决办法

将清空表的语句放在Before SQL中,这样装载数据前就会先清空表,然后再装载数据进去。注意:如果你的作业执行失败了,清空表的语句是不支持回滚哦!

原文地址:https://www.cnblogs.com/OliverQin/p/12698350.html