开发者社区> 问答> 正文

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

自己写了个程序,但是调用指定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!"); 
      }
      
   }

展开
收起
爱吃鱼的程序员 2020-06-14 20:27:14 1074 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    您好!请问一下,您最后是怎么解决的

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

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

    2020-06-14 20:27:31
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载