使用Oracle SQL * Loader時,我試圖將另一個數據庫中的可變長度字符串(lob)的列加載到Oracle中的varchar2(4000)列中。我們的字符串長度超過4000個字符,但每個人都同意這些字符串可以並且應該在遷移中被截斷(我們已經查看了超過4000個字符的數據,這沒有意義)。要做到這一點,我指定的列這種方式在控制文件:如何使用SQL * Loader截斷數據以適合字段? (ORA-12899)
COMMENTS CHAR(65535) "SUBSTR(:COMMENTS, 1, 4000)",
但是,SQL * Loader的仍拒絕任何行,其中該記錄長於數據文件4000個字符:
記錄6484:被拒絕 - 表LOG_COMMENT,列COMMENTS出錯。 ORA-12899:列COMMENTS的值太大(實際:11477,最大值:4000)
記錄31994:被拒絕 - 表LOG_COMMENT,列COMMENTS上的錯誤。 ORA-12899:值太大專欄的意見(實際:16212,最大:4000)
記錄44063:被拒絕 - 表LOG_COMMENT,列註釋錯誤。 ORA-12899:值太大專欄的意見(實際:62433,最大:4000)
我試圖採取一個更小的子串,仍然得到了同樣的錯誤。如何更改我的控制文件以將超過4000個字符的字符串數據截斷爲varchar2(4000)列?