Kettle学习------最简单的第二个Demo

将MySQL数据库的表全量导入Qracle中:

1、新建转换

2.连接Oracle

Kettle学习------最简单的第二个Demo_第1张图片

3、连接MySQL

Kettle学习------最简单的第二个Demo_第2张图片

4、拖动一个表输入和一个表输出至空白区,双击表输入,数据库连接选择MySQL(我这里名字叫tcc)

Kettle学习------最简单的第二个Demo_第3张图片

5、按住Shift键将两个连起来,双击表输出,选择数据库连接为Oracle(我这里名字叫ccadmin)

点击目标表---->浏览,选择要导入Oracle的表

Kettle学习------最简单的第二个Demo_第4张图片

6、选中指定数据库字段--->点击数据库字段----->点击获取字段

Kettle学习------最简单的第二个Demo_第5张图片

7、保存,执行,出现如下错误:
2015/12/08 16:53:01 - 表输出.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : Unexpected batch update error committing the database connection.
2015/12/08 16:53:01 - 表输出.0 - ERROR (version 5.4.0.1-130, build 1 from 2015-06-14_12-34-55 by buildguy) : org.pentaho.di.core.exception.KettleDatabaseBatchException: 
2015/12/08 16:53:01 - 表输出.0 - Error updating batch
2015/12/08 16:53:01 - 表输出.0 - ORA-00904: "AS_OF_HOUR": 标识符无效


2015/12/08 16:53:01 - 表输出.0 - 
2015/12/08 16:53:01 - 表输出.0 - at org.pentaho.di.core.database.Database.createKettleDatabaseBatchException(Database.java:1386)
2015/12/08 16:53:01 - 表输出.0 - at org.pentaho.di.core.database.Database.emptyAndCommit(Database.java:1375)
2015/12/08 16:53:01 - 表输出.0 - at org.pentaho.di.trans.steps.tableoutput.TableOutput.dispose(TableOutput.java:575)
2015/12/08 16:53:01 - 表输出.0 - at org.pentaho.di.trans.step.RunThread.run(RunThread.java:96)
2015/12/08 16:53:01 - 表输出.0 - at java.lang.Thread.run(Thread.java:662)
2015/12/08 16:53:01 - 表输出.0 - Caused by: java.sql.BatchUpdateException: ORA-00904: "AS_OF_HOUR": 标识符无效

错误显示AS_OF_HOUR这个标识符无效,检查Oracle数据库,发现没有AS_OF_HOUR这个字段

解决方法一:双击表输出--->数据库字段

删除AS_OF_HOUR这一行,保存

解决方法二:在Oracle数据库表中加上这个字段

修改后执行成功:


你可能感兴趣的:(Kettle学习------最简单的第二个Demo)