2014-06-18 27 views
0

有一個文件,該文件是在格式的x,y這應該使用SQL裝載機預言SQLLOADER在文件

XY
AB
新線被加載的末端新線

的所有數據被加載到表A(x,y)其中x,y是varchar2 - 此步成功通過。 下一步是處理加載的數據 - 即將數據轉換爲適當的格式等。 在這一步我遇到了麻煩,因爲列y被轉換爲數字(它存儲數字)。但是,由於文件末尾有新行,此行被破壞,並且to_number轉換失敗。

這怎麼解決?

+0

錯誤的原因是文件結束只有0A,而它會有規律的0D0A。雖然這只是編碼錯誤,但在其他類似情況下怎麼會被注意/處理呢? –

+0

這聽起來像你在Unix上創建csv文件並在Windows上運行Sql Loader。由於該文件是在Unix上創建的,爲什麼不使用像unix2dos這樣的轉換程序轉換爲windows格式(\ r \ n代替\ n)。這裏是一個例子,http://superuser.com/questions/71507/convert-unix-line-endings-to-windows。 –

回答

0
  • 聯繫數據的提供者並讓他們糾正創建文件的過程。
  • 對SQL * Loader使用LOAD =參數來限制加載LOAD =(文件中的行數爲-1)的行數。
  • 在加載前通過清空空行或刪除特殊字符來預處理文件。