RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
任重道远迁移路之DB2到Oracle

1、在db2数据库中存在表tbtest,有下列类型字段

列名db2oracle
c1char(10)char(10)
c2varchar(10)varchar2(10)
c3integernumber(10)
c4datedate
c5timestamptimestamp
c6decimal(24,2)number(24,2)
c7decimal(12,7)number(12,7)

2、创建从db2中导出数据

 
 
 
  1. export tbtest.del of del messages tbtest.msg select * from tbtest; 

注:在tbtest.msg文件中有警告信息,一般是一条记录变成了多行,需要手工改改。

3、创建oracle数据导入控制文件tbtest.ctl,内容如下:

 
 
 
  1. load data 
  2. infile ‘tbtest.del’ 
  3. truncate 
  4. into table tbtest 
  5. fields terminated by ‘,’ optionally enclosed by ‘”‘ 
  6. trailing nullcols 
  7. ( 
  8. c1, 
  9. c2, 
  10. c3, 
  11. c4 date ‘yyyymmdd’, 
  12. c5 timestamp ‘yyyy-mm-dd hh24.mi.ss.xff’, 
  13. c6 “to_number(:c6,’9999999999999999999999.99′)”, 
  14. c7 “to_number(:c7,’99999.9999999′)” 
  15. )  

注:如果是追加数据,将truncate改为append即可。

4、导入数据

 
 
 
  1. sqlldr shen/shen@db control=tbtest.ctl log=tbtest.log  

其次:

1.利用DB2的db2look命令可以直接导出数据库信息,包括:表结构,视图,函数,存储过程(唯一遗憾的是将DB2系统表信息等也导了出来,郁闷!)。

2.将创建表的语句单独存在一个文件,将Varchar用Varchar2代替。(当然表中字段没有大数据类型)。

3.在Oracle sql developer中执行建表语句。

4.利用PB将表逐个导入到Oracle中,数据迁移完成。(数据表很多,导了一天才导完,方法很笨吧?)。

建议:

1.如果是少的数据表,可以用Kettle工具,这个工具可以将源表结构自动转化为目标表结构。

2.数据导出、导入***利用PB中完成。起初,我将表导成Excel,利用Oracle工具导入,总是出现许多错误。而且对于Date类型数据,很难处理,但PB可以自动转化。

3.Kettle工具功能很强大,但没有时间来研究,它可能能完成很多功能。

4.PowerBuilder,PowerDesign在数据库更改、表变动或数据迁移有许多特性。


当前文章:任重道远迁移路之DB2到Oracle
当前地址:http://www.zcwtytd.com/article/cogseih.html