DB2数据库数据导出的shell脚本谁会写?
问题是这样的,我的机器是windows xp,我用的是SSH客户端连到Unix操作系统,而通过shell脚本实现把一个远程数据库DB2里面的某些特定的表以文本文件导出Unix操作系统里;参考shell脚本如下:
filepro()
#$1=file name, add a file head and tail to a file.
{
cd /home/gwic/data/warehouse
prodate=`date +"%Y/%m/%d"`
protime=`date +"%H%M%S"`
arcname="$1 "
head="#BEGIN,$arcname,$prodate , , "
echo "$head">$HOME/data/warehouse/$1.temp
cat $1>>$1.temp
linenum=`wc -l $1|awk '{printf("%09d",$1);}'`
tail="#END ,$arcname,$prodate$protime,$linenum,0000000"
echo "$tail">>$1.temp
rm $1
mv $1.temp $1
return 0
}
username=$1
password=$2
passchk $username $password
[ $? != 0 ]&&exit 1
db2 connect to $DBNAME user $DBUSER using $DBPASSWD 1>/dev/null
if [ $? -ne 0 ]; then
echo "数据挖掘连接数据库失败!\n"
exit 1
fi
cd $HOME/data/warehouse
db2 -tvf /home/gwic/data/warehouse/export.sql 1>/dev/null
filepro GWICRTPPF.TXT
echo "完成\n"
db2 connect reset 1>/dev/null
exit 0
这段脚本大体意思是连接到DB2,然后执行export.sql的数据导出代码,export.sql的内容如下:
export to GWICRTPPF.TXT of del MODIFIED BY coldel0x09 select * from gwicrtppf
可以看到,只有一句,要导出数据的表是gwicrtppt;只用这句导出命令导出的结果是只有数据实体的,而要求是,不单只要导出来,而且在导出的GWICRTPPF.TXT 文件中还要包含头部和尾部的统计信息,分别都是只占一行,头部要加的信息是:#beginGWICRTPPF.TXT yyyy/MM/ddyyyy/MM/ddhhmmss(字母的意思是日期时分秒)+导出的数据的行数(九位,不足九位前面补0)+7个0
尾部和头部差不多:
#endGWICRTPPF.TXT yyyy/MM/ddyyyy/MM/ddhhmmss(字母的意思是日期时分秒)+导出的数据的行数(九位,不足九位前面补0)+7个0
这些头部和尾部信息室通过shell脚本来完成的,所以上面的shell脚本也能看出一些端倪,不过那段shell脚本不能运行,问题就在这,哪位高手能够帮帮我,调试出这段shell代码,使它能正确执行
filepro()
#$1=file name, add a file head and tail to a file.
{
cd /home/gwic/data/warehouse
prodate=`date +"%Y/%m/%d"`
protime=`date +"%H%M%S"`
arcname="$1 "
head="#BEGIN,$arcname,$prodate , , "
echo "$head">$HOME/data/warehouse/$1.temp
cat $1>>$1.temp
linenum=`wc -l $1|awk '{printf("%09d",$1);}'`
tail="#END ,$arcname,$prodate$protime,$linenum,0000000"
echo "$tail">>$1.temp
rm $1
mv $1.temp $1
return 0
}
username=$1
password=$2
passchk $username $password
[ $? != 0 ]&&exit 1
db2 connect to $DBNAME user $DBUSER using $DBPASSWD 1>/dev/null
if [ $? -ne 0 ]; then
echo "数据挖掘连接数据库失败!\n"
exit 1
fi
cd $HOME/data/warehouse
db2 -tvf /home/gwic/data/warehouse/export.sql 1>/dev/null
filepro GWICRTPPF.TXT
echo "完成\n"
db2 connect reset 1>/dev/null
exit 0
这段脚本大体意思是连接到DB2,然后执行export.sql的数据导出代码,export.sql的内容如下:
export to GWICRTPPF.TXT of del MODIFIED BY coldel0x09 select * from gwicrtppf
可以看到,只有一句,要导出数据的表是gwicrtppt;只用这句导出命令导出的结果是只有数据实体的,而要求是,不单只要导出来,而且在导出的GWICRTPPF.TXT 文件中还要包含头部和尾部的统计信息,分别都是只占一行,头部要加的信息是:#beginGWICRTPPF.TXT yyyy/MM/ddyyyy/MM/ddhhmmss(字母的意思是日期时分秒)+导出的数据的行数(九位,不足九位前面补0)+7个0
尾部和头部差不多:
#endGWICRTPPF.TXT yyyy/MM/ddyyyy/MM/ddhhmmss(字母的意思是日期时分秒)+导出的数据的行数(九位,不足九位前面补0)+7个0
这些头部和尾部信息室通过shell脚本来完成的,所以上面的shell脚本也能看出一些端倪,不过那段shell脚本不能运行,问题就在这,哪位高手能够帮帮我,调试出这段shell代码,使它能正确执行
...全文
相关推荐
DB2数据库自动导出数据SQL脚本工具
DB2数据库自动导出数据SQL脚本工具"就是针对这类需求设计的实用工具,它能够帮助DB2管理员高效、自动化地完成数据导出工作。
db2自动备份shell脚本
本文将深入探讨如何使用shell脚本来实现DB2数据库的自动备份,以满足每天1:01进行数据备份的需求。首先,我们需要了解shell脚本的基本概念。
DB2导出表结构、表数据小结
,USER_NAME 是登录数据库用户名,PASSWORD 是登录数据库用户密码,DB_DLL.sql 是数据库全表 SQL 脚本文件。
shell创建db2数据库
在Linux或Unix等类Unix系统中,我们通常会使用shell脚本来自动化管理和操作数据库,包括创建数据库。下面将详细介绍如何通过shell脚本创建DB2数据库。
DB2 数据库创建、表的ixf文件导出导入示例
在IT领域,DB2是一款由IBM开发的关系型数据库管理系统,广泛应用于企业级的数据存储和管理。本文将深入探讨DB2数据库的创建、表的IXF文件的导出与导入过程,这对于数据库管理和数据迁移至关重要。


UNIX文化
