我有一個問題。當我從Windows客戶端運行它時,我有這個控制文件可以正常工作。但是,當我直接在Linux中運行它時,它顯示加載完成,但是當我查看我的oracle數據時,沒有數據,甚至有不良記錄。下面是我的控制文件,在Windows中運行良好,但在Linux中失敗。 注:控制文件工作,如果我刪除字符串或日期轉換領域在UNIX中運行sqlldr控制文件
控制文件
load data
infile 'HOME/INPUT/FILEA.dat'
badfile 'HOME/BAD/FILEA.bad'
discardfile 'HOME/DIS/FILEA.dsc'
truncate
into table TEST
fields terminated by '|'
trailing nullcols
(ABCcode CHAR(11),
ABCID CHAR(6),
ABC_SEQNO "to_number(:ABC_SEQNO,'999999')",
PSNO "to_number(:PSNO,'99999999999.999')",
ABDF CHAR(1),
ABCFI CHAR(1),
ABC_DATE NULLIF ABC_DATE="00000000" "to_date(:ABC_DATE, 'YYYYMMDD')",
XZY_date NULLIF XZY_date="00000000" "to_date(:XZY_date, 'YYYYMMDD')",
DESC CHAR(1))
任何幫助或想法,讓這個代碼運行在Linux上可以理解
有關日誌文件的注意事項:日誌文件有以下內容
ORA-00604:遞歸SQL級別1發生錯誤
ORA-12899:值太大,列 「ABCschema」 「TEST」 「ABC_DATE」。(實際:9,最大:8)
另外,日期轉換具有下列
NULL如果ABC_DATE = 0X3030303030303030(字符'00000000')列 SQL字符串: 「TO_DATE(:ABC_DATE, 'YYYYMMDD')」
你嘗試生成日誌文件?如果是,那麼錯誤是什麼?如果不是,爲什麼? – mustaccio
我做了,我只是更新了我的帖子,以反映我從日誌文件得到的消息 – user2008558
是的,我實際上將數據從Windows移動到Linux – user2008558