您的位置:首页 > 其它

kettle快速便捷从开发环境迁移到生产环境

2012-01-30 17:14 375 查看
问题描述:之前每次kettle采集程序从开发环境导入到生产环境后都要打开每个trans然后修改db connection为生产环境的db connection,如果涉及的trans或job比较多的话,修改db connection需要花费较长时间,且还经常有遗漏,是否有便捷的途径解决这个问题呢???

测试方案1:直接修改kettle metadata数据库中的涉及到DB connection的table,比如开发环境导入到生产环境后,直接写sql语句修改r_step_database表中把tpush30替换成push30,语句如下:

update r_step_database c  set id_database=(
select
distinct
id_database
--a.id_database,a.name,a.host_name,a.database_name,a.username,a.password
from r_database a
--inner join r_step_database b
--on a.id_database=b.id_database
where a.name='push30'
)
where c.id_database=
(
select distinct  a.id_database from  r_database a where a.name='tpush30'
)


经测试,此种方案不可行,尽管元数据库中已修改,但是spoon中还是显示原来的db connection,具体原因未明。

测试方案2:借鉴自Setting up Development and Production Pentaho PDI Repositories(http://www.johndz.com/2009/10/setting-up-development-and-production.html),详细步骤如下:

1、修改开发环境db connection name,使其和生产环境connection name保持一致,其中开发环境db connection指向开发数据库实例,生产环境指向生产数据库实例;

2、修改开发环境和生产环境的配置信息:


==》勾选只保存使用的数据库连接到XML、在打开/导入时询问替换连接;去选打开/ 导入时是否替换数据库连接,如下图:



3、导出开发环境特定目录下的trans和job,在repository explorer中选择特定目录,右键选中--export



4、导入到生产环境中,导入刚才从开发环境中导出的文件



测试结论:测试结果表明此种方案便捷可行!

Detaillee

2012-1-30
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: