免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 3307 | 回复: 10
打印 上一主题 下一主题

请教如何从txt文件里面读取表名。。。。。 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-08-05 14:53 |只看该作者 |倒序浏览
有一个文本文件a1.txt,文件里面放得都是表名:
testone
secondtest
testthree
fourtest

写成一个SHELL,根据a1.txt 里面得表名,从DB2 数据库中读取相应表得数据:
TMPFILE1=/home/vbsdep/upperc/testone.tmp
db2 connect to $DBNAME user $DBUSER using $DBPASS
db2 "export to $TMPFILE of del select * from testone"
db2 connect reset
cat $TMPFILE|sed -e 's/"//g' -e 's/ //g' -e 's/,/|/g' -e 's/$/|/'>`date +%Y%m%d`testone.txt
>/home/vbsdep/upperc/`date +%Y%m%d`testone.OK

TMPFILE2=/home/vbsdep/upperc/secondtest.tmp
db2 connect to $DBNAME user $DBUSER using $DBPASS
db2 "export to $TMPFILE of del select * from secondtest"
db2 connect reset
cat $TMPFILE|sed -e 's/"//g' -e 's/ //g' -e 's/,/|/g' -e 's/$/|/'>`date +%Y%m%d`secondtest.txt
>/home/vbsdep/upperc/`date +%Y%m%d`secondtest.OK

TMPFILE3=/home/vbsdep/upperc/testthree.tmp
db2 connect to $DBNAME user $DBUSER using $DBPASS
db2 "export to $TMPFILE of del select * from testthree"
db2 connect reset
cat $TMPFILE|sed -e 's/"//g' -e 's/ //g' -e 's/,/|/g' -e 's/$/|/'>`date +%Y%m%d`testthree.txt
>/home/vbsdep/upperc/`date +%Y%m%d`testthree.OK

TMPFILE4=/home/vbsdep/upperc/fourtest.tmp
db2 connect to $DBNAME user $DBUSER using $DBPASS
db2 "export to $TMPFILE of del select * from fourtest"
db2 connect reset
cat $TMPFILE|sed -e 's/"//g' -e 's/ //g' -e 's/,/|/g' -e 's/$/|/'>`date +%Y%m%d`fourtest.txt
>/home/vbsdep/upperc/`date +%Y%m%d`fourtest.OK

请教如何从txt文件里面读取表名,然后对应到各自得位置上面 进行数据库 数据得抽取?

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
2 [报告]
发表于 2008-08-05 14:55 |只看该作者

回复 #1 upperc 的帖子

read

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
3 [报告]
发表于 2008-08-05 14:58 |只看该作者
while read TABNAME
do
TMPFILE1=/home/vbsdep/upperc/${TABNAME}.tmp
db2 connect to $DBNAME user $DBUSER using $DBPASS
db2 "export to $TMPFILE of del select * from ${TABNAME}"
db2 connect reset
cat $TMPFILE|sed -e 's/"//g' -e 's/ //g' -e 's/,/|/g' -e 's/$/|/'>`date +%Y%m%d`${TABNAME}.txt
>/home/vbsdep/upperc/`date +%Y%m%d`${TABNAME}.OK
done < a1.txt

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
4 [报告]
发表于 2008-08-05 15:14 |只看该作者
原帖由 upperc 于 2008-8-5 14:53 发表
有一个文本文件a1.txt,文件里面放得都是表名:
testone
secondtest
testthree
fourtest

写成一个SHELL,根据a1.txt 里面得表名,从DB2 数据库中读取相应表得数据:
TMPFILE1=/home/vbsdep/upperc/testo ...


楼主,给你点建议,去熟悉熟悉db2的SQL,db2文本导出时,列分割符、字符是否要引用、Decimal类型前面是否有0等等,都是可以设定的。

论坛徽章:
11
金牛座
日期:2015-03-19 16:56:22数据库技术版块每日发帖之星
日期:2016-08-02 06:20:00数据库技术版块每日发帖之星
日期:2016-04-24 06:20:00数据库技术版块每日发帖之星
日期:2016-04-13 06:20:00IT运维版块每日发帖之星
日期:2016-04-13 06:20:00数据库技术版块每日发帖之星
日期:2016-02-03 06:20:00数据库技术版块每日发帖之星
日期:2015-08-06 06:20:00季节之章:春
日期:2015-03-27 15:54:57羊年新春福章
日期:2015-03-27 15:54:37戌狗
日期:2015-03-19 16:56:41数据库技术版块每日发帖之星
日期:2016-08-18 06:20:00
5 [报告]
发表于 2008-08-05 15:15 |只看该作者
原帖由 ly5066113 于 2008-8-5 15:14 发表


楼主,给你点建议,去熟悉熟悉db2的SQL,db2文本导出时,列分割符、字符是否要引用、Decimal类型前面是否有0等等,都是可以设定的。


同建议~~~~~

论坛徽章:
0
6 [报告]
发表于 2008-08-05 15:22 |只看该作者
红色 看的眼睛疼

论坛徽章:
0
7 [报告]
发表于 2008-08-05 15:24 |只看该作者
呵呵,感谢大家每次对我得帖子得支持和鼓励,以及很好得建议(暗夜让我读SHELL13问和基础篇,我会努力得。)

谢谢 大家 。。。。。。。。。。。。。。。。

论坛徽章:
0
8 [报告]
发表于 2008-08-05 15:28 |只看该作者
原帖由 ly5066113 于 2008-8-5 15:14 发表


楼主,给你点建议,去熟悉熟悉db2的SQL,db2文本导出时,列分割符、字符是否要引用、Decimal类型前面是否有0等等,都是可以设定的。



我是两个DB2  来互导数据得。。。。。。

而你说得,db2文本导出时,列分割符、字符是否要引用、Decimal类型前面是否有0  在两个同样得数据库(1个AIX得,1个WINDOWS得)中间导入导出数据会产生问题吗?

论坛徽章:
0
9 [报告]
发表于 2008-08-05 15:38 |只看该作者
原帖由 upperc 于 2008-8-5 15:28 发表



我是两个DB2  来互导数据得。。。。。。

而你说得,db2文本导出时,列分割符、字符是否要引用、Decimal类型前面是否有0  在两个同样得数据库(1个AIX得,1个WINDOWS得)中间导入导出数据会产生问题吗?



DB2自己没有导入导出功能吗?
我知道 mssql两个服务器之间导数据很简单。

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
10 [报告]
发表于 2008-08-05 15:39 |只看该作者
原帖由 upperc 于 2008-8-5 15:28 发表



我是两个DB2  来互导数据得。。。。。。

而你说得,db2文本导出时,列分割符、字符是否要引用、Decimal类型前面是否有0  在两个同样得数据库(1个AIX得,1个WINDOWS得)中间导入导出数据会产生问题吗?


如果同样都是db2,文本导入导出推荐使用 ixf 格式。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP