ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [原]Db2的表数据导入到oracle中

[原]Db2的表数据导入到oracle中

原创 Linux操作系统 作者:myfriend2010 时间:2019-06-20 18:21:05 0 删除 编辑

Db2的表数据导入到oracle

 

个人想法是:把db2的数据导出为del格式,然后导出成csv格式,然后通过oraclesqlload来进行数据导入,oraclesqlload是个很不错的外部文件导入工具,通过它可以把固定格式的外部数据文件导入到oracle中,个人觉得sqlload比较像db2del格式的文件的导入。

 

今天测试了一下,可行,发整个过程。

 

一:db2中建表并插入测试数据。

create table db2admin.db2_oracle_date

(

id        integer,

id1      varchar(10),

id2      date

)not logged initially;

 

insert into db2admin.db2_oracle_date values(1,'',current_date),(1,'w',current_date-1 days),(1,'L',current_date-2 days);

 

 

select * from db2admin.db2_oracle_date;

---------------------------

1     ''  '2008-09-10'

1     'w'   '2008-09-09'

1     'L'    '2008-09-08'

 

二:把表导出为csv格式文件

export to f:\zxt1.csv of del select * from db2admin.db2_oracle_date;

 

三:oracle中建表

SQL> connect zxt@orcl

输入口令:

已连接。

SQL> create table db2_oracle_date

  2

SQL> create table db2_oracle_date

  2   (id integer,

  3  id1 varchar2(10),

  4   id2 date

  5  )

  6  ;

 

表已创建。

四:用sqlload导入数据

SQL> host sqlldr userid=zxt/zxt control=F:\control.ctl

 

SQL*Loader: Release 10.2.0.1.0 - Production on 星期三 9 10 17:44:58 2008

 

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 

达到提交点 - 逻辑记录计数 3

 

SQL> select * from db2_oracle_date

  2  ;

 

        ID ID1        ID2

---------- ---------- --------------

         1        10-9 -08

         1 w        09-9 -08

         1 L        08-9 -08

 

SQL> host type F:\control.ctl

LOAD DATA

INFILE 'F:\zxt1.csv'

DISCARDMAX 1000

APPEND

INTO TABLE db2_oracle_date

TRAILING NULLCOLS

  (

   id  terminated BY ',',

   id1 terminated BY ',' OPTIONALLY ENCLOSED BY '"',

   id2  DATE "YYYY-MM-DD HH24:MI:SS"

   )

SQL>

 

注:oracle sqlload的控制文件有很多写法!也许我写的烦了点

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/694276/viewspace-442938/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 2008-09-22 烦
请登录后发表评论 登录
全部评论

注册时间:2018-09-01

  • 博文量
    187
  • 访问量
    126703