数据从Oracle数据库导入到MongoDB数据库中出现的一些问题,jar包的正确运行

来源:互联网 发布:tcp和udp的默认端口 编辑:程序博客网 时间:2024/05/17 08:33

集群搭建好了,片键也设置好了,接下来就是写导入的代码来进行数据的迁移

思路:因为其中有6个表,所需要导入的数据量是200G,400G......数据量太大,所以需要将导入数据的代码打成jar包,然后放在不同机器上运行,前提:代码里设置了args[]手动输入参数的判断,进而判断是哪一张表,应该对哪一张表进行操作,部分代码如下:

if (args[0].equalsIgnoreCase("wnjd")) {//判断是否是wnjd 表int begin = Integer.valueOf(args[1]);int end = Integer.valueOf(args[2]);for(int i=begin;i<end;i++){for(int month=1;month<13;month++){for(int day=1;day<29;day++){String yearString = Integer.toString(i);String monthString = Integer.toString(month);String dayString = Integer.toString(day);if(monthString.length()==1) monthString = "0" + monthString;if(dayString.length()==1) dayString = "0" + dayString;String time = yearString + "-" + monthString + "-" +dayString;System.out.println(time);System.out.println("-----------------------------------------------");col = db.getCollection("wnjd");NetworkNode(col,time);System.out.println("wnjd done.");System.out.println("-----------------------------------------------\n");}}}}

代码写好以后,打成jar包的时候出现了问题:

1、出现了JNI的错误,上网百度了一番,最后发现了,原来是源代码中引入的其他的jar包没有被识别,进行修改

需要注意的几点:

这个微博讲的比较详细:http://blog.csdn.net/u011791526/article/details/52523724

就是注意jar包中引入了第三方jar包的问题

还有打包的时候注意主清单的问题,有可能出现缺失主清单,所以打包时需要勾选下图的东西:


上面的这种方法在运行jar包的时候需要将源代码的包一起带上运行,因为jar包需要和lib文件夹在同一个目录中

还有一种比较直接的方法,不过我没有尝试:

http://blog.csdn.net/saga_1412/article/details/20862749

阅读全文
0 0