有点奇怪!求助!!java调用ktr文件数据无法入mongoDB!
kettle吧
全部回复
仅看楼主
level 1
用了kettle7写了几个ktr和job文件,最后的步骤都是输入到MongoDB output!
奇怪的事就是我用kettle直接运行ktr和job文件,能输入到mongoDB中,用window命令行 Pan.bat /file D:\***.ktr 也能输入到mongoDB中。
这是用kettle运出的结果:
这是windows命令行的结果:
两个的mongoDB输出都相同,是吧,只有读(R),没有写(W)!mongoDB能看到执行后的结果!
奇怪的就是用java调ktr文件同样也有输出信息:
而在mongoDB 一直看不到结果,什么都没有!真的不知道这是为什么,我用的是kettle7的版本,我用java调输出为Excel的ktr文件能够输出,mongo就不行!!有大神帮忙吗!!
代码就这样,最简单的调用:
import org.pentaho.di.core.KettleEnvironment;
import org.pentaho.di.core.util.EnvUtil;
import org.pentaho.di.trans.Trans;
import org.pentaho.di.trans.TransMeta;
public class liuweitrans {
public static void main(String[] args) {
Trans trans = null;
try {
// 初始化
String fName = "E:\\数据资料\\java.ktr";
// 转换元对象
KettleEnvironment.init();// 初始化
EnvUtil.environmentInit();
TransMeta transMeta = new TransMeta(fName);
//transMeta.setName();
System.out.println(fName);
// 转换
trans = new Trans(transMeta);
// 执行转换
trans.execute(null);
// 等待转换执行结束
trans.waitUntilFinished();
// 抛出异常
if (trans.getErrors() > 0) {
throw new Exception(
"There are errors during transformation exception!(传输过程中发生异常)");
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
这是kettle里mongoDB里的配置
求帮忙找找问题啊!!!
2016年11月29日 09点11分 1
level 1
一样的问题。。不知道解决了吗
2016年12月23日 04点12分 2
level 1
感觉是bug??
2016年12月23日 04点12分 3
level 1
一样的问题,单独运行转换是可以的
2017年04月28日 01点04分 4
level 1
楼主有没有找到解决的方法,我还是没有解决。求教
2017年04月29日 01点04分 5
level 1
请问 楼主该问题解决了吗,我也遇到同样的问题了
2021年01月19日 02点01分 6
1