做项目的时候,做过数据库的移植工作。当时是从informix数据库移植到oracle数据库。其中对于一些涉及到的标准数据要做些移植。现在把它总结出来,希望对大家有点帮助。当然由于oracle和informix的数据类型有所不同,所以先要根据informix的建库脚本把 oracle数据库的表结构对应的建立起来。这里就不详细说明了。
由于informix导出的是文本文件,而oracle数据库的导入导出的数据是oracle数据库识别的二进制文件。如果只是oracle数据库之间的导入的话,可以用oracle自带的import或者export工具导入导出。这里也不详细讨论了。[@more@]做项目的时候,做过数据库的移植工作。当时是从informix数据库移植到oracle数据库。其中对于一些涉及到的标准数据要做些移植。现在把它总结出来,希望对大家有点帮助。当然由于oracle和informix的数据类型有所不同,所以先要根据informix的建库脚本把 oracle数据库的表结构对应的建立起来。这里就不详细说明了。
由于informix导出的是文本文件,而oracle数据库的导入导出的数据是oracle数据库识别的二进制文件。如果只是oracle数据库之间的导入的话,可以用oracle自带的import或者export工具导入导出。这里也不详细讨论了。
关于数据的导入,使用ORACLE的SQL Loader,步骤如下:
1.将Informix数据导出成文本数据,具体方式是:在Informix的DBAccess中执行命令unload to 数据文件名 delimiter "," select * from 表名,每个表跟生成一个相应的数据文件。
2.编写SQL Loader的控制文件loaddata.ctl,控制文件可以按如下的格式进行编写:
LOAD DATA
INFILE '数据文件名’
INTO TABLE 表名
REPLACE
FIELDS TERMINATED BY ',’
([字段名列表(,分隔)])
举个例子:
Load data
infile 'E:gyxx.txt'
into table sgyxxb
Append
fields terminated by ','
( GY ,
GYLSH ,
JGM ,
XM ,
ZRR ,
ZT ,
PZBZ ,
JYJB ,
CNXEBH ,
GZBH ,
MM ,
QYRQ Date "YYYY/MM/DD" ,
MMYXRQ Date "YYYY/MM/DD",
JGRQ Date "YYYY/MM/DD",
GYLX )
3.在命令提示符状态下输入
sqlldr userid=name/password control=loaddata.ctl,完成对数据的迁移。
例如:sqlldr control=loaddata.ctl;
4.以上是对一个表内的数据进行迁移的过程,系统内部有很多标准数据的表,所以需要写批处理程序。然后执行此批处理程序即可完成数据的导入。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/7490392/viewspace-1008606/,如需转载,请注明出处,否则将追究法律责任。