我現在oracle中一個表有1.1億資料,我需要將它匯出,被人指點說sqlldr可以將資料匯出,但是我并不會用,請問有會用的指點一二,我現在網上找到的寫法,復制粘貼如下:
LOAD DATA
CHARACTERSET 'UTF8' --字符集設定
INFILE 'd:\buy2.txt' --要匯入的文本資料路徑,可寫多個
REPLACE into TABLE buy2 --清空原有資料再匯入方式 追加匯入 用append into table t_name
fields terminated by X'09' --以制表符分隔
trailing nullcols --允許空列匯入
(col1,col2)
但是我不知道是這個是要在cmd中運行還是在plsql Developer中運行,如還有問題敬請留言
uj5u.com熱心網友回復:
http://m.blog.itpub.net/26770925/viewspace-1379914/uj5u.com熱心網友回復:
1、sqlldr是作業系統的命令,在cmd下執行2、sqlldr是匯入工具,不能匯出資料。
uj5u.com熱心網友回復:
sqlloader好像是匯入工具,你可以在PL/SQL中匯出資料,也可以利用其他工具實作。我整理的也有sqlloader匯入資料的方法,希望對你有幫助。我的操作:
1.確定資料庫中的表要與要插入的表的欄位一致。
2.進入CMD,輸入:“D:”回車;輸入:cd D:\app\admin\product\11.2.0\dbhome_1\BIN(Oracle資料庫的安裝目錄)。
3.編輯控制檔案,最后用ctl檔案格式。
[sql] view plain copy
options (skip = 1,rows = 128) --skip=1 用來跳過資料中的第一行
-- rows 默認是64,你可以根據實際指定更合適的 ROWS 引數來指定每次提交記錄數。
LOAD DATA
INFILE 'E:\test\T_ORDER_DETAIL.csv' --指定外部資料檔案,可以寫多個 INFILE
("another_data_file.csv" 指定多個資料檔案)
--BADFILE 'E:\test\T_ORDER_DETAIL.bad' (BADFILE來指定壞資料,可以不寫)
--DISCARDFILE E:\test\T_ORDER_DETAIL.dis'(DISCARDFILE指定丟棄資料檔案,可以不屑
append
INTO TABLE scott.T_ORDER_DETAIL --目標表SCOTT.ORDER_DETAIL
fields terminated by ',' --匯入的資料每行記錄用“,”分隔符(X'09'是制表符分割)
Optionally enclosed by '"' --匯入資料每個欄位用’”‘定界符
--trailing nullcols 表的欄位沒有對應值時允許為空,可選
(
OID,
PRODUCTID,
CNT,
PRICE
)
4.編輯日志檔案和資料檔案和控制檔案
control='D:\test\T_ORDER_DETAIL.ctl'
data='https://bbs.csdn.net/topics/D:/test/T_ORDER_DETAIL.csv'
log='D:\test\log.log'
5.Oracle資料庫檔案下:輸入“sqlldr 用戶名/密碼@orcl(或者IP) control ='D:\test\T_ORDER_DETAIL.ctl'data='D:\test\T_ORDER_DETAIL.csv' log='D:\test\log.log'
測驗過,沒問題。
uj5u.com熱心網友回復:
可以使用平民匯出工具 sqluldr2匯出資料,下載地址為 http://www.onexsoft.com/zh/download 使用方法比較簡單,此命令有幫助說明,或者百度。轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/71762.html
標籤:開發
上一篇:這道資料庫的面試題難道我了
