我通過SQLLDR將一些數據加載到Oracle。源文件是「管道分隔」。SQL * Loader:處理數據中的分隔符字符
FIELDS TERMINATED BY '|'
但是有些記錄在數據中包含管道字符而不是分隔符。所以它打破正確的記錄加載,因爲它理解indata管道字符作爲字段終止符。
你能指點我一個方向來解決這個問題嗎?
數據文件大約9 GB,因此很難手動編輯。
例如,
加載行:
ABC | 1234567 | STR 9 R 25 | 98734959,32 | 2011年12月28日
被放棄的行:
DE4 | 2346543 | WE | 454 | 956584,84 | 28.11.2011
錯誤:
Rejected - Error on table HSX, column DATE_N.
ORA-01847: day of month must be between 1 and last day of month
DATE_N列是最後一個。
你能舉出一個有問題的例子嗎? –
帶'''管道的字段是否包含在引號中?例如'DATA1 | DATA2 |「DATAWITH | PIPE」| DATA3'。在這種情況下,你可以使用'FIELDS TERMINATED BY'|' '''' –
@FlorinGhita更新 – bonsvr