0

SQLローダーを使用していくつかのデータを読み込もうとしています。これが私のコントロール/データファイルの先頭です:

LOAD DATA
INFILE *
APPEND INTO TABLE economic_indicators
FIELDS TERMINATED BY ','
(ASOF_DATE DATE 'DD-MON-YY',
VALUE FLOAT EXTERNAL,
STATE,
SERIES_ID INTEGER EXTERNAL,
CREATE_DATE DATE 'DD-MON-YYYY')
BEGINDATA
01-Jan-79,AL,67.39940538,1,23-Jun-2009

...他の多くのデータライン。

問題は、SQLローダーが指定しているデータ型を認識しないことです。これはログファイルです:

Table ECONOMIC_INDICATORS, loaded from every logical record.
Insert option in effect for this table: APPEND

Column Name                  Position   Len  Term Encl Datatype
------------------------------ ---------- ----- ---- ---- ---------------------
ASOF_DATE                           FIRST     *   ,       DATE DD-MON-YY       
VALUE                                NEXT     *   ,       CHARACTER            
STATE                                NEXT     *   ,       CHARACTER            
SERIES_ID                            NEXT     *   ,       CHARACTER            
CREATE_DATE                          NEXT     *   ,       DATE DD-MON-YYYY     

value used for ROWS parameter changed from 10000 to 198
Record 1: Rejected - Error on table ECONOMIC_INDICATORS, column VALUE.
ORA-01722: invalid number

...多くの同様のエラー。charデータを数値列に挿入しようとすると予想されます。

私はデータ型の仕様、他のすべての数値の仕様、そして常に同じ問題を試していません。何か案は?

また、Rowsパラメーターを変更する理由についてのアイデアはありますか?

4

1 に答える 1

3

あなたの例から、SQL * Loaderは文字列「AL」を数値に評価しようとします。その結果、エラーメッセージが表示されます。サンプルデータには、列リストで指定されている2番目ではなく、3番目の位置にある10進数のように見えるものがあります。

于 2009-07-13T22:17:40.090 に答える