爲了將數據(從CSV文件)加載到Oracle數據庫中,我使用了SQL * Loader。如何真正跳過列的處理?
在接收這些數據的表中,有一個varchar2(500)
列,名爲COMMENTS
。 由於某些原因,我想忽略CSV文件中的這些信息。 因此,我寫了這個控制文件:
Options (BindSize=10000000,Readsize=10000000,Rows=5000,Errors=100)
Load Data
Infile 'XXX.txt'
Append into table T_XXX
Fields Terminated By ';'
TRAILING NULLCOLS
(
...
COMMENTS FILLER,
...
)
此代碼似乎正常工作,如在數據庫中的COMMENTS
場總是被設置爲null
。
但是,如果在我的CSV文件我有,其中相應COMMENTS
場超過500個字符限制的記錄,我從SQL得到一個錯誤*裝載機:
Record 2: Rejected - Error on table T_XXX, column COMMENTS.
Field in data file exceeds maximum length
有沒有辦法來真的排除我的COMMENTS
字段的處理?
感謝您的幫助。我試過substr函數,但是我得到了相同的結果。 我也簡化了很多我的控制和數據文件(該過程只有PK和COMMENTS),但我仍然得到錯誤:( 我使用的是10.2.0.3.0 sql loader版本... – romaintaz 2009-06-11 08:33:34