2015-07-13 51 views
0

我有一個csv文件test.csv,我通過在shell腳本中調用的sqlloader將其加載到表測試中。如果有任何錯誤,則會在unix目錄中生成.bad文件。如何從sql ldr連接錯誤信息到壞文件

表測試結構爲數字(10),b varchar2(1),c日期(DD/MM/YYYY)。

加載時,如果有任何數據類型錯誤test.bad文件將與日誌文件一起生成。

日誌文件將會有確切的錯誤信息。

現在,讓我們說在test.csv row_num = 1被重定向到test.bad文件,然後我需要將錯誤消息以及該行的末尾寫入日誌文件。

E.G. 100,A,1,C不是日期。

我該如何存檔?請幫忙 。

回答

0

定義一個external table,將所有列設置爲VARCHAR2並將其指向BAD文件。 將錯誤信息(例如'bad record A = xx,...')添加到新列,並將UNION ALL與原始表一起添加。

+0

截至目前批量加載數據只是我需要添加功能,以添加error_mesaage這是在log_file中的.bad文件。您提出的解決方案是不可行的。 – user3195273

+0

@ user3195273在壞文件中添加了帶有extrernal表的修改解決方案 –