0

SQL ローダーでロードしようとすると、ログ ファイルにメジャー エラー メッセージが生成されます

これでAd2.ctlという名前の制御ファイルを作成しました

と読み込みコマンド

sqlldr scott/tiger@MYDB CONTROL='Ad2.ctl' LOG='Ad2.log'  

ファイルの内容には、次のサンプルが含まれます

SQLローダーコマンドを実行した後、エラーの長いリストが表示され、ADDRESSテーブルにデータが入力されませんでした.

エラーには次のものが含まれます

SQL*Loader: Release 10.2.0.3.0 - Production on Wed Sep 12 08:47:28 2012

 Copyright (c) 1982, 2005, Oracle.  All rights reserved.

 Control File:   Ad2.ctl
 Data File:      Abbeyruntest2.csv
  Bad File:     Abbeyruntest2.bad
  Discard File: Abbeyruntest2.dis 
 (Allow all discards)

Number to load: ALL
Number to skip: 0
Errors allowed: 50
Bind array:     64 rows, maximum of 256000 bytes
Continuation:    none specified
Path used:      Conventional

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


Record 2: Rejected - Error on table ADDRESS, column ADDRESSAREA.
Column not found before end of logical record (use TRAILING NULLCOLS)
Record 3: Rejected - Error on table ADDRESS, column ADDRESSAREA.
Column not found before end of logical record (use TRAILING NULLCOLS)

初心者であり、混乱しているため、長いエラーを投稿することをお詫びします。

4

2 に答える 2

1

csv ファイルの引用符に問題があるようです。

このようなファイルをロードする方法に関する記事を見つけました。

LOAD DATA
APPEND INTO TABLE testing
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(
  a
 ,b  "replace ( :b ,'"' ,'' )"
)
于 2012-09-12T12:42:16.060 に答える
0

CSV ファイルが制御ファイルとまったく対応していません。CSV ファイルにカンマが多すぎます。FIELDS TERMINATED BY ',' 句に従って、各カンマが新しいフィールドを区切ります。このようにデータを変更しましたが、うまくいきました:

1,FLAT,                    ,1  ,Abesinia Passage   , 
2,Flat e-1,Edmund's Home   ,1a ,Arena's Palace Lane, 
3,flat 1,`Anderson's House',11a,                   ,Laguna Estate 

CSV ファイルを変更できない場合は、制御ファイルで FILLER フィールドを定義して、フィールドの仕様が実際のデータと一致するようにする必要があります。

于 2012-09-12T15:55:44.907 に答える