Oracle
 sql >> Base de données >  >> RDS >> Oracle

ORA-29913 :erreur lors de l'exécution de l'appel ODCIEXTTABLEOPEN

Vous avez plusieurs problèmes ici. La cause immédiate de votre problème est que vous avez les clauses dans le mauvais ordre , mais vous avez également MISSING FIELDS au lieu de MISSING FIELD :

...
 ACCESS PARAMETERS
 (
  RECORDS DELIMITED BY newline
  FIELDS TERMINATED BY ',' 
  MISSING FIELD VALUES ARE NULL
  REJECT ROWS WITH ALL NULL FIELDS
  (
...

Ensuite, votre contenu de la liste des champs avoir types de données pour cette partie de la déclaration ; vous pouvez simplement l'omettre entièrement dans ce cas, car ceux-ci correspondent à la définition de la colonne de la table.

Vous pouvez donc le simplifier en :

create table strecords (
st_id number(4),
st_name varchar(10),
schl_name varchar(5),
st_city varchar(15),
st_year number(4)
)
ORGANIZATION EXTERNAL
(TYPE oracle_loader
 DEFAULT DIRECTORY ex_tab
 ACCESS PARAMETERS
 (
  RECORDS DELIMITED BY newline
  FIELDS TERMINATED BY ',' 
  MISSING FIELD VALUES ARE NULL
  REJECT ROWS WITH ALL NULL FIELDS
 )
 LOCATION ('strecords.txt')
);