java代码初始化kettle的连接数据库变量

0
在kettle工具里面设置连接数据库变量,把转换保存为文件形式,在eclipse里面创建web project工程,添加kettle相关jar包,在main方法里面怎么初始化连接数据库的变量?


我的需求是:比如数据从A数据库转移到B数据库,A库和B库的地址都是变化的,需要做一个工具(比如java窗体程序),在页面输入相关的ip地址、端口、数据库实例和用户名以及密码,然后通过java后台代码设置kettle对应的参数,再执行转行或者工作。
kettle创建资源库有三种选择,大家有什么好的建议吗?对于我这种数据库变化不定的需求,选择哪一种比较好?刚接触kettle,希望大家多给点建议,项目比较紧急,多谢大家帮忙。
已邀请:
0

牟瑞 - 大数据 Hadoop 讲师 Hadoop入门课程地址:http://www.hellobi.com/course/39 有架构师,技术总监,CTO的职位请联系我! 2016-07-07 回答

数据库的连接串的信息,不是可以使用变量么???这个变量,你可以使用kettle.property来配置,Java直接去该这个问题,也可以把这个变量的值放入到数据库里面,通过SQL语句查询的方式,获取到这个变量的信息。
0

zhoufang 2016-07-07 回答

这个更改数据库配置的问题貌似解决了,发现一个新的问题,如图ktr文件里面有用到JavaScript脚本组件,调用的时候会报错:    at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:484)
    at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:336)
    at org.pentaho.di.trans.step.StepMeta.<init>(StepMeta.java:297)
    ... 31 more
Caused by: java.lang.NoClassDefFoundError: org/mozilla/javascript/JavaScriptException
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at org.pentaho.di.core.plugins.PluginRegistry.loadClass(PluginRegistry.java:427)
 
不知道是不是因为缺少jar包还是需要注册组件,

要回复问题请先登录注册