2016-03-23 1 views
0

小数点フィールドをレコードの最後の値として使用すると、SQLローダーを使用してテーブルにロードすることができません。私はLinux OSとOracle 12Cでやっています。小数点が最後の列にある場合、SQLローダーを介してデータを読み込むことができません

以下は私の.ctlファイルのコードです。

OPTIONS (SILENT=(HEADER,FEEDBACK),ERRORS=0) 
LOAD DATA 
TRUNCATE INTO TABLE STG_HIST_VSPT 
FIELDS TERMINATED BY '|' OPTIONALLY ENCLOSED BY '"' 
TRAILING NULLCOLS 
(
col1, 
col2, 
col3, 
STARTDATE DATE 'DD-MM-YYYY', 
QTY 
) 

以下は、データがファイル内にある方法です。

6106|#CLIENTE SIN ASIGNAR#|399_8|31-12-2012|0.022500 
6254|#CLIENTE SIN ASIGNAR#|399_8|21-01-2013|0.082500 
6254|#CLIENTE SIN ASIGNAR#|399_8|04-03-2013|0.180000 

以下は、ログファイルに表示されるエラーです。 レコード1:拒否 - テーブルSTG_HIST_VSPT、列数のエラー。 ORA-01722:無効な番号

誰かが私に問題の原因を教えてもらえますか?自分でファイルを作成した場合、読み込むことができますが、別のシステムから受け取ったこのファイルは読み込めません!

答えて

0

'TERMINATED BY WHITESPACE'を追加すると、ファイルを正常に読み込むことができました。

関連する問題