天地不仁,以万物为刍狗!

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

上一篇 / 下一篇  2008-09-10 18:13:41 / 个人分类:db2

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星期三910 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的控制文件有很多写法!也许我写的烦了点


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

日历

« 2008-11-24  
      1
2345678
9101112131415
16171819202122
23242526272829
30      

数据统计

  • 访问量: 12228
  • 日志数: 273
  • 图片数: 1
  • 文件数: 2
  • 建立时间: 2007-12-01
  • 更新时间: 2008-11-19

RSS订阅

Open Toolbar