【问题标题】:Error found in logs - ORA-00905: Missing Keyword i在日志中发现错误 - ORA-00905: Missing Keyword i
【发布时间】:2021-12-23 02:15:21
【问题描述】:

我遇到了一个错误

ORA-00905:缺少关键字

有什么建议可以解决吗?

恢复数据库时出现错误。它在该查询中失败:

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;

【问题讨论】:

  • 请格式化您的代码,并将其粘贴为代码块。

标签: sql oracle ora-00905


【解决方案1】:

如果我是你,我会删除 all 双引号。 Oracle 不喜欢它们,而且您会遇到字母大小写的问题,并且您总是必须将对象/列名括在双引号中。干掉他们。

就您的问题而言:location 应包含源文件的名称。

修复后,代码可能如下所示:

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>

【讨论】:

  • 嗨,@Littefoot,感谢您帮助我。我执行了查询,但仍然收到错误:SQL> CREATE TABLE dev1.TEST ERROR at line 2: ORA-00922: missing or invalid option
  • 对不起@Littefoot,一切正常。我的错。感谢帮助。最好的问候。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-18
  • 2022-01-19
  • 1970-01-01
  • 2011-06-01
  • 2016-03-12
  • 1970-01-01
  • 2010-09-23
相关资源
最近更新 更多