烦请哪位大神指导下怎么实现java调用kettle来执行指定的KTR或者KJB文件?

UQing 发布于 2014/11/04 16:56
阅读 2K+
收藏 0

自己写了个程序,但是调用指定ktr文件时会报错:DatabaseJoin不能识别,错误如下:

Unable to load class for step/plugin with id [DatabaseJoin]. Check if the plugin is available in the plugins subdirectory of the Kettle distribution.

附上调用程序:

  public static void main(String arg[]) throws Exception 
   {
//       String idname="6";//作为参数值 
  
//       String idname="201407";


      String filename="D:/AA/testAHN.ktr";//ktr路径
//       String filename="D:/AA/test10212.ktr";//ktr路径
  
      KettleEnvironment.init();//初始化kettle环境
      TransMeta transMeta = new TransMeta(filename);//new tran的源数据对象
      Trans trans = new Trans(transMeta);//创建tran对象
//       trans.setVariable("namevalue",idname);//给对象传参
      trans.prepareExecution(null);//异常处理
      trans.startThreads();//开始执行
      trans.waitUntilFinished();//等待执行完毕
      if(trans.getErrors()!=0)
      {
          System.out.println("Error encountered!"); 
      }
      
   }

加载中
0
梦蓝蓝的
您好!请问一下,您最后是怎么解决的
0
用户5789167327
用户5789167327

把trans.startThreads();//开始执行

改成 trans.execute(null);就可以了,另外上面那一句异常处理也可以不要,还有就是要有相应的jar包。最后这个只是调用,并不是获取数据。

返回顶部
顶部