0

テーブルにいくつかのレコードをアップロードしようとしましたABC。どのレコードも通過せず、すべて.badログに表示されました。

私はsqlldrにかなり慣れていません。私がどこを台無しにしたのかよくわかりません。私が取った手順をお見せしましょう。

まず、 という空のテーブルを作成しましたABC

 create table abc
    (
      location_id varchar2(10),
      sold_month date,
      item_name varchar2(30),
      company_id varchar2(10),
      qty_sold number(10),
      total_revenue number(14,3),
      promotional_code varchar2(10)
    );

これが私のフラットファイルですabcflat.dat。列は、上の表の列に対応しています。

"1000","02/01/1957","Washing Machine","200011","10","10000","ABCDE"
"1000","05/02/2013","Computer","200012","5","5000","ABCDE"
"1000","05/01/2013","Bolt","200010","100","500","ABCDE"
"1000","05/03/2013","Coca Cola","200011","1000","1000","ABCDE"

ここに私の制御ファイルがありますabc.ctl

LOAD DATA
INFILE 'C:\Users\Public\abcflat.dat'
INTO TABLE ABC
FIELDS TERMINATED BY "," 
enclosed by '"'
(
Location_ID
, Sold_month
, item_name
, Company_id
, QTY_Sold
, Total_revenue
, Promotional_Code
)

そして私の最後のステップ

sqlldr hr/open@xe control=c:\users\public\abc.ctl

それは言う

Commit point reached - logical record count 3
Commit point reached - logical record count 4

しかし、私の ABC テーブルにはどのレコードも表示されませんでした。

ありがとうございました

4

1 に答える 1

1

おそらく日付形式です。これを試してください:

LOAD DATA
INFILE 'C:\Users\Public\abcflat.dat'
INTO TABLE ABC
FIELDS TERMINATED BY "," 
enclosed by '"'
(
Location_ID
, Sold_month DATE "DD/MM/YYYY"
, item_name
, Company_id
, QTY_Sold
, Total_revenue
, Promotional_Code
)
于 2013-09-18T16:24:11.407 に答える