You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Oracle数据库恢复执行建表语句触发ORA-00905缺失关键字错误求解决

ORA-00905报错修复方案

问题根因

你执行的创建外部表语句的LOCATION子句存在语法错误,是触发ORA-00905缺失关键字的直接原因:

  • LOCATION配置中错误在目录对象名后添加了多余的冒号,且冒号后未填写要加载的源数据文件名,不符合Oracle外部表的语法规范。

修复步骤

  1. 确认你的源数据文件名,比如源文件名为raskw_source.csv,且已经存放在SHARED_FILE_AREA目录对象对应的操作系统路径下
  2. 修改LOCATION子句为正确格式,可选两种写法:
    • 已指定DEFAULT DIRECTORY的场景,可直接写文件名:
      LOCATION ('raskw_source.csv')
      
    • 需显式指定目录对象的场景,冒号要放在目录对象名的双引号外侧,后接带单引号的文件名:
      LOCATION ("SHARED_FILE_AREA":'raskw_source.csv')
      

修复后完整语句示例

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 ('raskw_source.csv')
   ) 
REJECT LIMIT UNLIMITED;

额外校验点

  • 提前确认SHARED_FILE_AREA目录对象已在数据库中创建,且WIA用户被授予了该目录的读权限
  • 确认语句中指定的ee8mswin1250字符集和源数据文件的字符集一致,避免加载后出现乱码

内容的提问来源于stack exchange,提问作者Nevis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 16:15:02