您的位置:首页 > 运维架构 > Shell

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

2014-09-24 22:20 375 查看
  该Shell脚本用于实现将DB2数据库表导出到文件,将在另一篇博文《Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件》中通过Java代码实现调用该脚本并传入参数。

#!/usr/bin/env sh

DBSCHEMA=$1
DBUSER=$2
DBPASSWORD=$3
TABLENAME=$4
FILEPATH=$5
DELIMITER=$6
EXPORTLIMIT=$7

SQLERR="NO ERROR MSG"

############################################################
# : wlog String
############################################################
wlog () {
wlog_dt=`date "+%Y/%m/%d-%H:%M:%S" `
echo "\n${wlog_dt} $1"
}

############################################################
# : db2connect db2connstring
############################################################
connDB2() {
wlog "====================connect to $1======================="
wlog "db2 connect to $1 user $2 "
##  conn=db2 connect to $1 user $2 using $3 > /dev/null
if( db2 connect to $1 user $2 using $3 > /dev/null )
then
wlog "Succeed connect to $1 "
else
wlog "Failed connect to $1 "
exit -1
fi
}

############################################################
# : db2connectRelease db2connstring
############################################################
releaseDB2() {
db2 connect reset  > /dev/null
}

############################################################
# : db2export
############################################################
exportDB2() {
connDB2 ${DBSCHEMA} ${DBUSER} ${DBPASSWORD}
sql=" select * from ${TABLENAME} ${EXPORTLIMIT}"
wlog "export to ${FILEPATH} of del modified by codepage=1208 COLDEL| ${sql}: "
db2 "export to ${FILEPATH} of del modified by nochardel codepage=1208 COLDEL| ${sql}"
}

############################################################
# : main
############################################################
run() {
#   connDB2 ${DBNODE} ${DBUSER} ${DBPASSWORD} ${DBNAME}
#   sql=" select inter_no,op_time from inter_log "

#   db2 -x ${sql}| while read inter_no op_time
#   do
#       echo "Result:${inter_no}->${op_time}"
#   done

echo "Begin to export the data: "
exportDB2

echo "Close the connection."
releaseDB2
}

echo "execute sql ................."
run


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

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


COLDEL指定了分隔符为|

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

db2 "export to ${FILEPATH} of del modified by codepage=1208 COLDEL| ${sql}"
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: