DB2导入导出及换行问题解决

导出:db2 "export to    ./T_GUAR_CERTI_RELA.del of del modified by codepage=1208 select * from ncmis.T_GUAR_CERTI_RELA";

 导入:db2 "import from prd_rul_set.del of del MODIFIED BY DELPRIORITYCHAR  commitcount 1000000 insert into ncmis.prd_rul_set";

导入:db2 "load from /home/cus_indiv.del of del modified by codepage=1208  delprioritychar  usedefaults  insert into NCMIS.cus_indiv";

注:Import和Load 都可以将数据导入到DB2服务器中,但是2者是有很大区别的。
Import 其实执行了SQL 的INSERT 操作。和INSERT 操作一样,Import 执行的时候会激活触发器,所有的约束会强制实现,而且会使用数据库的缓冲池。类似Oracle sql*loader工具的常规路径导入。

Load 工具可以更快的将数据文件导入到数据表中。Load 工具不会与DB2 数据引擎发生交互,所以当使用Load 工具时,不会触发触发器也不会使用缓冲池,而且必须单独实现数据表的约束。Import 工具执行起来比Load 慢是因为它是低层次的数据操作工具,它分LOAD,BUILD,DELETE 三个阶段对硬盘上的数据页面来进行直接的处理。Load工具类似Oracle sql*loader工具的直接路径导入。

换行问题解决:

db2使用export导出的del文本中,由于有字段有换行符,load装入数据时,默认以一行为一条数据,这样装载数据就有问题了。

解决办法:modified by delprioritychar

如: db2 "load from CUS_INDIV_MODIFY_20190514_1.del of del modified by   delprioritychar   insert into NCMIS.CUS_INDIV_MODIFY";

db2默认load优先级策略为:record delimiter ,character delimiter,column delimiter,这样record delimiter优先级最高,所以原始文件如果有换行的话load就认定为新的record,如果用户数据中有换行符,就必须使用delprioritychar改变默认的优先级别,确保“”之间的数据不管有没有换行符都被认定为同一条记录。另外:IXF文件不会出现此问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值