0

SQLローダーを使用してcsvデータのセットをロードする際に問題が発生します。データを含む制御ファイルがあり、Oracle10gでターゲットテーブルをすでに作成しています。

この次のコマンドを実行すると、

 C:\Users\lee\sqlloadertest> sqlldr scott/tiger@MYDB,CONTROL='Ad.ctl'

それは生成します

SQL*Loader: Release 10.2.0.3.0 - Production on Tue Sep 11 17:46:43 2012

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

Commit point reached - logical record count 52

アドレステーブルを確認すると、行が作成されていないことが示されています。つまり、テーブルにデータが入力されていません。

4

2 に答える 2

0

log オプションを指定して sql ローダーを実行し、実際のエラーを確認できます。

これが完全な形式です。

C:\Users\lee\sqlloadertest> sqlldr scott/tiger@MYDB CONTROL='Ad.ctl' log=ad.log bad=ad.bad

私の推測では、レコードはすべてエラーで失敗していますが、これは通常の場合です。

于 2012-09-11T19:28:08.187 に答える
0

ctlファイルを編集してみてください-

LOAD DATA
INFILE 'Masterpiece.csv' BADFILE 'Masterpiece.bad' DISCARDFILE 'Masterpiece.dis'    
APPEND
INTO TABLE ADDRESS
fields terminated by "," optionally enclosed by '"'
(ID, LOCATORDESIGNATOR, LOCATORNAME, LOCATOR, THOROUGHFARE, ADDRESSAREA)

CSVファイル (Win 形式) に"は、フィールドの周りに含まれることがあります。以下のコマンドを使用して、ctlファイルを実行します。

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

badおよびdisファイルで、エラーおよび破棄されたレコードを確認してください。

于 2012-09-11T19:28:19.033 に答える