利用r或者python往資料庫大批量的寫入資料,效率低下且容易被客戶端殺死,在我領導的鼎力幫助下,實現了用ctl往oracle裡面寫入資料,效率大大提高了。
現在我把具體的操作方法分享一下:
首先建立乙個ctl檔案:
load data
characterset utf8
infile 'txt檔案存放路徑/檔名.txt'
fields terminated by 『,』 -- 此處針對逗號分隔資料
( aaaa,
bbbb,
cccc,
dddd,
eeee,
ffff,
gggg,
hhhh,
yyyy
)
注意:這裡aaa,…yyyy 表示表的字段, txt資料結構應與表結構保持一致。
然後進入cmd環境
step1: cmd 下進入oracle控制檔案存放位址;
step2: 控制檔案位置查詢:sql環境下執行select name from v$controlfile;
step3: 切換到控制目錄存放位置:cd / d 控制目錄
step4 執行 :sqlldr userid='使用者名稱/"密碼"' control=ctl檔案存放路口\ctl檔名.ctl
step5: 檢查資料匯入情況
參考資料: linux中往MySQL匯入含有中文的資料報錯
報錯內容 error 1366 hy000 incorrect string value xbf for column start address at row 1 主要還是因為匯入的資料中含有中文的原因。嘗試了網上的多種方案,比如將格式改為gbk,gb2312都不行。後來是改為utf8最終可以了。...
oracle 使用sqlload匯入外部資料
使用sqlload大批量匯入資料 第一步 建立表 create table testht demo id varchar2 20 byte not null enable,name varchar2 20 byte age varchar2 20 byte 建立控制檔案 home demo.ctl ...
Oracle利用sqlplus匯入匯出資料
有時候利用plsql進行大批量資料匯入匯出會出現卡死現象,這時候利用sqlplus匯入匯出大批量資料。1 在命令提示符中執行以下命令連線資料庫 sqlplus username password 資料庫名2 匯入 spool e wh desktop log.txt 輸出日誌路徑 e wh desk...