Kettle 中去除Copy Tables Wizard生成的表名schema前缀

来源:互联网 发布:java post 返回json 编辑:程序博客网 时间:2024/05/19 03:19

在kettle中有一个非常实用的功能Copy Tables Wizard,可以成批地把表从一个连接导入到另一个连接,特别是在异构数据库之间进行数据迁移非常好用。

但这个功能有个小BUG,在导表的时候,目的数据库中新建表的表名都自动加上了源数据库的SCHEMA名,这样数据虽导过去了,但表名却走样了。

感谢KETTLE,它是开源的,因此我们修改KETTLE的源代码,再重新编译,就可以解决这个问题

涉及到的源代码是:org.pentaho.di.core.database.Database.java 中的这一句:

原代码:

if (includeSchema) schemaTable = databaseMeta.getQuotedSchemaTableCombination(schema, table);else schemaTable = table;
修改一下if条件,即可,修改后的代码:
if (!includeSchema) schemaTable = databaseMeta.getQuotedSchemaTableCombination(schema, table);else schemaTable = table;
编译后,再来试试,讨厌的SCHEMA前缀没有了
我使用的版本是3.0.2,不知新版本有没修复这个问题
原创粉丝点击