SQL&Loader是ORACLE提供的一種工具
用這一工具可把外部文件中的數據裝載到ORACLE的數據庫中
利用這一原理
可以把FOXPRO的數據導出到文本文件
再利用SQL*Loader裝載到ORACLE數據庫中
一 從FOXPRO中導出數據 打開file/export
Type選擇delimited text
在To項中給出導出的數據文件名
字段間以
區分開
Fro項選擇要導出的FOXPRO數據庫文件
並選擇數據文件存儲位置
打開Options
根據需要設置Scope
For
While和Fields
點擊OK進行導出
例如導出人員管理數據庫中的序號
姓名
性別
出生日期數據文件
保存為ry
ctl文件名
其內容如下
白余量
男
/
/
李漢為
男
/ /
郭正林
男
/
/
二 編輯數據文件為控制文件格式 LOAD DATA
INFILE *
REPLACE
INTO TABLE wxryb
FIELDS TERMINATED BY
OPTIONALLY ENCLOSED
(xh
name
sex
birth date(
)
mm/dd/yyyy
)
BEGINDATA
白余量
男
/
/
李漢為
男
/ /
郭正林
男
/
/
其中
INFILE * 表示數據在控制文件後部
REPLACE是數據裝載方式
還 可以是INSERT
APPEND等
wxryb 是ORACLE數據庫表名
(xh
name
sex
birth date(
)
mm/dd/yyyy
)是wxryb中的字段名
mm/dd/yyyy
是被轉換日期數據的格式
BEGINDATA以後是要裝載的數據
三 把數據文件ftp到數據庫服務器上 四 以oracle用戶身份登錄到數據庫服務器 五 在命令行輸入 sqlldr userid=refine/refine control=ry
ctl log=ry
log bad=ry
bad執行數據裝載
其中
userid指定的用戶對wxryb要有一定權限
可指定log文件和bad文件 對裝載過程進行檢查
本命令 還可帶有多個參數進行裝載控制
可在命令行 輸入sqlldr查閱
對於FOXPRO的MEMO字段數據可利用COPY MEMO命令導出到文本文件
再按上述方法裝入
如果數據裝載不成功
請查閱log文件和bad文件
其原因多與數據類型的匹配和長度有關
對於FOXPRO日期型數據如果為空(如上例第
條記錄)
ORACLE不識別
/ /
則裝載會失敗
因此在從FOXPRO導出前
我先給所有birth為空的記錄賦予一個日期
/
/
待裝載成功後只需一個命令
update wxryb set birth=
where birth=?
JAN
即可在wxryb中恢復相關記錄的birth空值
From:http://tw.wingwit.com/Article/program/Java/JSP/201311/19161.html