首页 > 数据库技术 > 详细

java 执行 shell脚本通过mysql load data导入数据

时间:2019-11-09 17:14:24      阅读:347      评论:0      收藏:0      [点我收藏+]

1:load_data_test.sh

#!/bin/sh

file=$1

load_data_log=/mnt/load_data_test/load.log

load_sql="LOAD DATA LOCAL INFILE ‘/mnt/load_data_test/${file}‘ 
IGNORE INTO TABLE t_test
CHARACTER SET utf8 
FIELDS TERMINATED BY ,
    OPTIONALLY ENCLOSED BY ‘‘
LINES TERMINATED BY \r\n‘"

mysql 2>>${load_data_log} -uroot -pxxx --local-infile=1  << EOF

use app_info;

$load_sql;

exit

EOF

echo "$?"

exit

备注:$?如果为1表示脚本执行出错,为0表示脚本执行成功。

2:java代码

    public static void main(String[] args) {

        String sh = System.getProperty("shell");
        
        try{
            Runtime rt = Runtime.getRuntime();
            Process proc = rt.exec(sh,null,null);
            
            InputStream stderr =  proc.getInputStream();
            InputStreamReader isr = new InputStreamReader(stderr,"UTF-8");
            BufferedReader br = new BufferedReader(isr);
            
            String line;
            while ((line = br.readLine()) != null) {
                System.out.println("执行结果:"+line);
            }
        }catch (Exception e){
            e.printStackTrace();
        }

        
    }

3:测试

# java -Dshell=/mnt/load_data_test/load_data_test.sh 00.txt -jar t03.jar
执行结果:0

 

java 执行 shell脚本通过mysql load data导入数据

原文:https://www.cnblogs.com/yshyee/p/11826416.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!