2

SQL LDR を使用してテーブルにデータをアップロードしようとしています。

sqlldr userid=aa2012/uaxiqdz@ADB control=simple.ctl

simple.ctl:-

LOAD DATA
INFILE '../data/simple.csv'
BADFILE '../data/simple.bad'
DISCARDFILE '../data/simple.dsc'
INTO TABLE SIMPLE_TAB
replace
fields terminated by ',' optionally enclosed by '"'
(
  ID INTEGER 

EXTERNAL, 
  NAME CHAR(32)
)

simple.csv には、1 番目と 2 番目の名前の 2 つの列があります。

create table Simple_Tab (
  id    number primary key,
  name  varchar2(32)
)

しかし、次のエラーが表示されます-

SQL*Loader: リリース 10.2.0.1.0 - 2010 年 12 月 4 日 22:43:55 の本番環境

Copyright (c) 1982, 2005, Oracle. 全著作権所有。

SQL*Loader-941: 表 SIMPLE_TAB の記述中にエラーが発生しました ORA-04043: オブジェクト SIMPLE_TAB が存在しません

私は試した -

  1. ファイルを保存するファイルパスを慎重に選択します。
  2. テーブル SIMPLE_TAB の削除と再作成
  3. すべてのコマンドで大文字を慎重に使用する

しかし、誰も助けませんでした。

4

3 に答える 3

2

create tableステートメントを実行したときに、別のデータベース (またはユーザー) に接続していた可能性があります。

SQL*Plus で実行すると何がselect user from dual;表示されますか (たとえば、実行直後/実行前create table)

于 2010-12-05T08:55:54.840 に答える
0

このもう 1 つの理由は、制御ファイル内のテーブル名をスキーマ名で修飾していない場合に発生する可能性があります。

したがって、テーブルがスキーマ内scottにあり、テーブル名がこれによって修飾されていない場合、 以外のログイン ユーザーを使用すると、Sqlldr はエラーを出しますscott

于 2012-09-28T14:27:59.640 に答える
0

今日、まったく同じ問題がありました。私の場合、テーブル名がであると思っtblnameていたのですが、実際には"tblname"(引用符付き) でした。

私は SQL Developer も使用しており、Schema Browser でテーブル名がtblnameであることが示され、だまされました。ドラッグ アンド ドロップ ユーティリティを使用してこのテーブルから選択コマンドを作成したときにのみ、テーブル名に実際に引用符が含まれていることがわかりました。

于 2011-04-12T20:55:00.957 に答える