將informix匯出的文字資料匯入oracle資料庫

guyuanli發表於2008-08-05
做專案的時候,做過資料庫的移植工作。當時是從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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章