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 "\n${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}"

 

posted @ 2014-09-24 22:20  沉默的猿  阅读(8514)  评论(0编辑  收藏  举报
AmazingCounters.com
给我写信