目錄
匯入例項
常見問題解決辦法
1 匯出大字段
2 換號符處理
3 資料檔案的字段超出最大長度
4 ora-12899: 列的值太大
5 遇到特殊字元&處理
參考**
sqlldr 資料型別
sqlldr 配置引數
qlplus 中執行sql 遇到特殊字元&處理
oracle 匯出 字元超長處理
開啟命令提示符,執行命令
sqlplus username/[email protected]:1521/orcl
--執行sql指令碼
@e:\2019_transdata\adlib4_db\建庫指令碼\oracle\0_基礎.sql
--匯入
sqlldr "'username/[email protected]:1521/orcl'" control=e:/1_exp_test.ctl log=e:/1_exp_test.log direct=true bad=e:/log/1_exp_test.bad rows=10000 errors=1000
1_exp_test.ctl內容如下:
load data
infile 'e:/1_exp_test.data' --修改對應的路徑和檔名
truncate into table exp_test --修改對應的表名
fields terminated by x'1b' --修改對應的分割符
trailing nullcols
( filed1 ,
filed2 char(100000000)
)
ctl檔案中「trailing nullcols」中對應的clob欄位新增char(1000000000),括號數字大小要比clob字元長度大。
replace(a.filed2,'0x0a',chr(10))
sqlldr對於字元型別預設長度為255,如果超過255需要指定長度,見紅色下面ctl檔案中的紅色字型:
load data
infile 'data_cn_01.dat' "str x'0d0a232323230d0a'"
into table tpis_pat_cn
fields terminated by '||||'
trailing nullcols
an,pn,
ab char(4000),
source constant 'sipo',
patent_id "seq_tpis_pat_base.nextval"
其錯誤原因在於從文字中讀取的字段值超過了資料庫表字段的長度,需要用oracle函式解決,如下紅色字型:
load data
trailing nullcols
ab char(4000) "substrb(:ab,1,2000)",
原sql如:update trans_record set params = 'service=standard_bail&***=112' where trans_record_id = '3041';
執行時執行出現問題,提示輸入對應引數的值。
經查,問題就出在字元&上,他是乙個控制引數傳入的字元,要解決執行的問題,有如下幾種方式:
1、在sqlplus中執行set define off關閉特殊字元,關閉前可用show define檢視有哪些特殊字元;
2、update trans_record set params = 'service=standard_bail'||'&'||'***=112' where trans_record_id = '3041';
3、update trans_record set params = 'service=standard_bail'||chr(38)||'***=112' where trans_record_id = '3041';
4、update trans_record set params = 'service=standard_bail/&***=112' where trans_record_id = '3041';
以上4種方式推薦使用第一種方式,簡單,徹底解決特殊字元問題(前提是看清到底關閉了哪些特殊字元);因為特殊字元不止有&,還有%等;
oracle sqlldr匯入資料
執行命令 sqlldr userid epay epay control tmp test.ctl log tmp test.log data tmp test.csv rows 10 命令引數 userid oracle 的 username password servicename contro...
oracle sqlldr 匯入亂碼問題
具體情況,見附件,附件內有截圖。問題 oralce 使用 sqlldr 匯入資料 匯入成功後,進入相關的表中查詢為亂碼。a bss.ctl檔案內容 load data characterset utf8 infile bss.txt fields terminated by phone type c...
Python requirement 匯入匯出包
在使用python的時候,需要把安裝的package通過requirements.txt匯出來,乙個命令便可部署新環境。requirements.txt,是用於記錄所有依賴包及其精確的版本號。自動生成requirement.txt命令 pip freeze requirements.txt執行成功後...