Kettle之“检查表是否存在”

 想用Kettle实现一个非常简单的需求,从MySQL向Oracle导入一个表的数据,如果在oracle里表不存在,先建表再导入数据。这个功能看似非常简单,但对于刚开始接触Kettle的用户来说,可能会有些疑惑。Kettle的转化和作业中都有“检查表是否存在”步骤,但是如果要实现上述的需求,只能用作业,而不能使用转换。
  在Kettle中,作业是串行执行的,只有前一个作业项执行成功才会开始下一个作业项。而转换中的多个步骤是并行执行的,数据流会在构成转换的所有步骤中同时操作。因此,如果使用转换,不能保证先建表再导入数据的执行顺序。下面为实验步骤。

1. 建立一个名为“mysql to oracle”的作业,如下图所示。


2. “检查表是否存在”作业项如下图所示。

3. “create table”SQL脚本作业项如下图所示。

4. “mysql to oracle”转换如下面三张图所示。

原文:https://blog.csdn.net/wzy0623/article/details/53884107  版权声明:本文为博主原创文章,转载请附上博文链接!