Kettle可以导入数据,
但是如果目标表尚未创建该怎么办呢?
Kettle可以使用作业先判断目标表是否存在,如果不存在,则可以执行建表语句。
实验目标如下
源数据库是MySQL,将MySQL的表T导入Oracle,但是一开始的时候,Oracle并没有创建该表.
在MySQL数据库初始化数据
![](//img.blog.itpub.net/blog/attachment/201409/22/29254281_14113512969znw.jpg?x-oss-process=style/bb)
创建作业
![](//img.blog.itpub.net/blog/attachment/201409/22/29254281_1411351310gXIR.jpg?x-oss-process=style/bb)
他判断Oracle数据库是否存在表T,如果不存在则执行SQL脚本
![](//img.blog.itpub.net/blog/attachment/201409/22/29254281_1411351367TG54.jpg?x-oss-process=style/bb)
最后,执行转换
![](//img.blog.itpub.net/blog/attachment/201409/22/29254281_1411351407p7ee.jpg?x-oss-process=style/bb)
在SQL脚本这个环节,甚至可以指定一个SQL文件执行.非常的灵活。
![](//img.blog.itpub.net/blog/attachment/201409/22/29254281_1411351487KvwA.jpg?x-oss-process=style/bb)
可以指定SQL文件
![](//img.blog.itpub.net/blog/attachment/201409/22/29254281_1411351555e5B7.jpg?x-oss-process=style/bb)
但是如果目标表尚未创建该怎么办呢?
Kettle可以使用作业先判断目标表是否存在,如果不存在,则可以执行建表语句。
实验目标如下
源数据库是MySQL,将MySQL的表T导入Oracle,但是一开始的时候,Oracle并没有创建该表.
在MySQL数据库初始化数据
![](http://img.blog.itpub.net/blog/attachment/201409/22/29254281_14113512969znw.jpg?x-oss-process=style/bb)
创建作业
![](http://img.blog.itpub.net/blog/attachment/201409/22/29254281_1411351310gXIR.jpg?x-oss-process=style/bb)
他判断Oracle数据库是否存在表T,如果不存在则执行SQL脚本
![](http://img.blog.itpub.net/blog/attachment/201409/22/29254281_1411351367TG54.jpg?x-oss-process=style/bb)
最后,执行转换
![](http://img.blog.itpub.net/blog/attachment/201409/22/29254281_1411351407p7ee.jpg?x-oss-process=style/bb)
在SQL脚本这个环节,甚至可以指定一个SQL文件执行.非常的灵活。
![](http://img.blog.itpub.net/blog/attachment/201409/22/29254281_1411351487KvwA.jpg?x-oss-process=style/bb)
可以指定SQL文件
![](http://img.blog.itpub.net/blog/attachment/201409/22/29254281_1411351555e5B7.jpg?x-oss-process=style/bb)
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/29254281/viewspace-1276704/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/29254281/viewspace-1276704/