12
返回列表 发新帖
楼主: singlve

[FAQ] 把txt文件中的数据导入到DB2,遇到一点问题

[复制链接]
求职 : 数据库管理员
招聘 : Java研发
论坛徽章:
6402
娜美
日期:2021-10-12 20:11:36技术图书徽章
日期:2021-09-30 12:11:1120周年集字徽章-年	
日期:2021-09-30 12:12:5820周年集字徽章-20	
日期:2021-09-30 12:43:0619周年集字徽章-周
日期:2021-09-30 13:18:3120周年集字徽章-20	
日期:2021-09-30 16:44:1219周年集字徽章-周
日期:2021-09-30 17:01:04技术图书徽章
日期:2021-09-30 17:59:14技术图书徽章
日期:2021-10-06 10:36:4019周年集字徽章-19
日期:2021-10-06 14:43:24
11#
发表于 2014-6-27 17:05 | 只看该作者
singlve 发表于 2014-6-27 17:01
db2 => create table ab21pf(proj_code varchar(6) not null,proj_seq decimal(8,0) n
ot null,agntnum  ...

按照我7#的命令
不过要对你的文档做一下处理
首先将文档中多余的空格删除,【很容易】
将一个空格变成制表符,全文本替换就可以

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
1
优秀写手
日期:2014-06-27 06:00:00
12#
 楼主| 发表于 2014-6-27 17:34 | 只看该作者
2009532140 发表于 2014-6-27 17:05
按照我7#的命令
不过要对你的文档做一下处理
首先将文档中多余的空格删除,【很容易】

THS for your idea, I'll have a try

使用道具 举报

回复
论坛徽章:
5
2014年新春福章
日期:2014-02-18 16:50:09马上有车
日期:2014-02-18 16:50:09优秀写手
日期:2014-10-21 06:00:13秀才
日期:2017-08-18 11:04:35弗兰奇
日期:2020-05-19 13:26:49
13#
发表于 2014-7-1 11:46 | 只看该作者
虽然没有使用过db2,但是一个简单的解决办法是在库中新建一个表,这个表有全部的列,把数据导入到这个表里面,时候使用insert into .... select col1 ,col2 ... from newtab;  办法虽然不是很高明,但是绝对可以出现想要的结果。

使用道具 举报

回复
求职 : 数据库管理员
论坛徽章:
1
优秀写手
日期:2014-06-27 06:00:00
14#
 楼主| 发表于 2014-7-2 10:26 | 只看该作者
paomananshan 发表于 2014-7-1 11:46
虽然没有使用过db2,但是一个简单的解决办法是在库中新建一个表,这个表有全部的列,把数据导入到这个表里面 ...

但是我要导入的数据是在txt文本中的。

使用道具 举报

回复
论坛徽章:
1
技术图书徽章
日期:2014-01-24 10:18:55
15#
发表于 2014-7-9 09:52 | 只看该作者
本帖最后由 mingongyi 于 2014-7-8 21:16 编辑

C:\>cat sample.txt
     PROJ_CODE   PROJ_SEQ  AGNTNUM  BEG_DUTYDEG  STATU_CODE   COMPANY
---- ---------      --------        --------     -----------             ----------       -------
1    B01            30002715   63006200    M3                         B               011
2    B01            30002716   63006071    M3                         B               011
3    B01            30002729   63006291    M3                         B               011
4    B01            30002740   63005669    M3                         B               011
5    B01            30002743   63005697    M3                         Z               011
6    B01            30002752   63006144    M3                         B               011
7    B01            30002753   63006293    M3                         B               011
8    B01            40000079   64000568    M1                         B               012
9    B01            40000122   64001277    M1                         B               012
10   B01            40000171   64001816    M4                         B               012

C:\>tail -n +3 sample.txt
1    B01            30002715   63006200    M3                         B               011
2    B01            30002716   63006071    M3                         B               011
3    B01            30002729   63006291    M3                         B               011
4    B01            30002740   63005669    M3                         B               011
5    B01            30002743   63005697    M3                         Z               011
6    B01            30002752   63006144    M3                         B               011
7    B01            30002753   63006293    M3                         B               011
8    B01            40000079   64000568    M1                         B               012
9    B01            40000122   64001277    M1                         B               012
10   B01            40000171   64001816    M4                         B               012

C:\>tail -n +3 sample.txt | awk '{print $2,$3,$4,$5,$6,$7}'
B01 30002715 63006200 M3 B 011
B01 30002716 63006071 M3 B 011
B01 30002729 63006291 M3 B 011
B01 30002740 63005669 M3 B 011
B01 30002743 63005697 M3 Z 011
B01 30002752 63006144 M3 B 011
B01 30002753 63006293 M3 B 011
B01 40000079 64000568 M1 B 012
B01 40000122 64001277 M1 B 012
B01 40000171 64001816 M4 B 012

C:\>tail -n +3 sample.txt | awk -v OFS=',' '{print $2,$3,$4,$5,$6,$7}'
B01,30002715,63006200,M3,B,011
B01,30002716,63006071,M3,B,011
B01,30002729,63006291,M3,B,011
B01,30002740,63005669,M3,B,011
B01,30002743,63005697,M3,Z,011
B01,30002752,63006144,M3,B,011
B01,30002753,63006293,M3,B,011
B01,40000079,64000568,M1,B,012
B01,40000122,64001277,M1,B,012
B01,40000171,64001816,M4,B,012

使用道具 举报

回复
论坛徽章:
1
ITPUB 11周年纪念徽章
日期:2012-10-10 13:11:14
16#
发表于 2014-8-5 16:50 | 只看该作者
方法都是好方法,但最简单的步骤是直接EXCEL引入数据文件,保存为CSV格式,再IMPORT到表中。

使用道具 举报

回复
论坛徽章:
1
技术图书徽章
日期:2014-01-24 10:18:55
17#
发表于 2014-8-5 23:11 | 只看该作者
babibobi 发表于 2014-8-5 03:50
方法都是好方法,但最简单的步骤是直接EXCEL引入数据文件,保存为CSV格式,再IMPORT到表中。

有时候Production数据有好几十个G,已经超出了Excel的能力,而且不利于自动化。

使用道具 举报

回复
论坛徽章:
5
慢羊羊
日期:2015-03-04 14:55:272015年新春福章
日期:2015-03-06 11:59:47喜羊羊
日期:2015-04-02 19:59:02懒羊羊
日期:2015-05-17 21:03:29懒羊羊
日期:2015-05-20 20:04:36
18#
发表于 2014-11-3 14:25 | 只看该作者
目标数据库所在的主机是否能连接源数据库所在主机?能的话用load from cursor最快。

使用道具 举报

回复
论坛徽章:
0
19#
发表于 2018-4-10 12:58 | 只看该作者
你可以先导入一个有七列的数据库,然后投影出一个只包含后六列的数据库,

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表