• Shell脚本实现DB2数据库表导出到文件


      该Shell脚本用于实现将DB2数据库表导出到文件,将在另一篇博文《Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件》中通过Java代码实现调用该脚本并传入参数。

     1 #!/usr/bin/env sh
     2  
     3 DBSCHEMA=$1
     4 DBUSER=$2
     5 DBPASSWORD=$3
     6 TABLENAME=$4
     7 FILEPATH=$5
     8 DELIMITER=$6
     9 EXPORTLIMIT=$7
    10  
    11 SQLERR="NO ERROR MSG"
    12  
    13 ############################################################
    14 # : wlog String  
    15 ############################################################
    16 wlog () {
    17    wlog_dt=`date "+%Y/%m/%d-%H:%M:%S" `
    18    echo "
    ${wlog_dt} $1"
    19 }
    20  
    21 ############################################################
    22 # : db2connect db2connstring
    23 ############################################################
    24 connDB2() {
    25     wlog "====================connect to $1=======================" 
    26      wlog "db2 connect to $1 user $2 "
    27 ##  conn=db2 connect to $1 user $2 using $3 > /dev/null
    28     if( db2 connect to $1 user $2 using $3 > /dev/null )
    29     then
    30         wlog "Succeed connect to $1 "
    31     else
    32         wlog "Failed connect to $1 "
    33         exit -1
    34     fi
    35 }
    36  
    37 ############################################################
    38 # : db2connectRelease db2connstring
    39 ############################################################
    40 releaseDB2() {
    41     db2 connect reset  > /dev/null
    42 }
    43  
    44 ############################################################
    45 # : db2export
    46 ############################################################
    47 exportDB2() {
    48     connDB2 ${DBSCHEMA} ${DBUSER} ${DBPASSWORD}
    49     sql=" select * from ${TABLENAME} ${EXPORTLIMIT}"
    50     wlog "export to ${FILEPATH} of del modified by codepage=1208 COLDEL| ${sql}: "
    51     db2 "export to ${FILEPATH} of del modified by nochardel codepage=1208 COLDEL| ${sql}"
    52 }
    53  
    54 ############################################################
    55 # : main
    56 ############################################################
    57 run() {
    58 #   connDB2 ${DBNODE} ${DBUSER} ${DBPASSWORD} ${DBNAME}
    59 #   sql=" select inter_no,op_time from inter_log "
    60      
    61 #   db2 -x ${sql}| while read inter_no op_time
    62 #   do
    63 #       echo "Result:${inter_no}->${op_time}"
    64 #   done
    65  
    66     echo "Begin to export the data: "
    67     exportDB2
    68  
    69     echo "Close the connection."
    70     releaseDB2
    71 }
    72  
    73 echo "execute sql ................."
    74 run

    其中以下导出命令将会去除导出文件中字符串的双引号:

    1 db2 "export to ${FILEPATH} of del modified by nochardel codepage=1208 COLDEL| ${sql}"

    COLDEL指定了分隔符为|

    如果需要保留字符串双引号命令:

    1 db2 "export to ${FILEPATH} of del modified by codepage=1208 COLDEL| ${sql}"
    博客地址: http://www.cnblogs.com/dwf07223,本文以学习、研究和分享为主,欢迎转载,转载请务必保留此出处。若本博文中有不妥或者错误处请不吝赐教。

  • 相关阅读:
    netty 服务端 启动阻塞主线程
    idea踩过的坑
    bat批量重命名
    图片上传
    TCP/IP入门指导
    CPU governor调节器汇总
    IT咨询顾问:一次吐血的项目救火
    python 数组
    Python字符串
    基于Python实现对各种数据文件的操作
  • 原文地址:https://www.cnblogs.com/dwf07223/p/3991681.html
Copyright © 2020-2023  润新知