0

I'm facing an error

ORA-00905: Missing Keyword

Any advice how to fix it?

Error came up when I recover DB. It failing in that query:

CREATE TABLE "WIA"."raskw"
(
   "sourceline"   VARCHAR2 (1000 BYTE),
   "errmsg"       VARCHAR2 (1000 BYTE)
)
ORGANIZATION EXTERNAL
   (
      TYPE oracle_loader
      DEFAULT DIRECTORY "SHARED_FILE_AREA"
      ACCESS PARAMETERS (
         RECORDS DELIMITED BY NEWLINE
         NOLOGFILE
         NODISCARDFILE
         BADFILE 'badrows.err'
         CHARACTERSET ee8mswin1250
         FIELDS TERMINATED BY ','
            OPTIONALLY ENCLOSED BY '"'
            MISSING FIELD VALUES ARE NULL
         (sourceline CHAR, errmsg CHAR))
      LOCATION ("SHARED_FILE_AREA":  )  )  reject limit UNLIMITED;
Littlefoot
  • 131,892
  • 15
  • 35
  • 57
Nevis
  • 21
  • 4

1 Answers1

1

If I were you, I'd remove all double quotes. Oracle doesn't like them, and you'll have problems with letter case and you'll always have to enclose object/column names into double quotes. Just get rid of them.

As of your problem: location should contain name of the source file.

When fixed, code might look like this:

SQL> CREATE TABLE wia.raskw
  2  (
  3     sourceline   VARCHAR2 (1000 BYTE),
  4     errmsg       VARCHAR2 (1000 BYTE)
  5  )
  6  ORGANIZATION EXTERNAL
  7     (
  8        TYPE oracle_loader
  9        DEFAULT DIRECTORY SHARED_FILE_AREA
 10        ACCESS PARAMETERS (
 11           RECORDS DELIMITED BY NEWLINE
 12           NOLOGFILE
 13           NODISCARDFILE
 14           BADFILE 'badrows.err'
 15           CHARACTERSET ee8mswin1250
 16           FIELDS TERMINATED BY ','
 17              OPTIONALLY ENCLOSED BY '"'
 18              MISSING FIELD VALUES ARE NULL
 19           (sourceline CHAR, errmsg CHAR))
 20        LOCATION ('your_file_name.txt'))          --> here
 21     REJECT LIMIT UNLIMITED;

Table created.

SQL>
Littlefoot
  • 131,892
  • 15
  • 35
  • 57
  • Hi, @Littefoot, thanks for helping me. I execute the query but I still getting an error: SQL> CREATE TABLE dev1.TEST ERROR at line 2: ORA-00922: missing or invalid option – Nevis Nov 12 '21 at 11:42
  • Sorry @Littefoot, everything works fine. My mistake. Thanks for help. Best regards. – Nevis Nov 12 '21 at 12:03