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

使用apex_data_parser插入数据报错ORA-20987的解决求助

问题:APEX插入数据报错ORA-20987:上传文件无数据

错误信息

SQL Error: ORA-20987: No data found in uploaded file.
ORA-06512: at "APEX_200100.WWV_FLOW_DATA_PARSER", line 5384
ORA-06512: at "APEX_200100.WWV_FLOW_DATA_PARSER", line 4782
ORA-06512: at line 1

场景描述

上传文件实际包含数据,移除WHERE条件或LEFT JOIN关联后可正常执行插入,但需要仅插入特定行(如第2行);该SQL两天前可正常运行,现在突然报错。

原SQL代码

Insert into emp (EMPNO,ENAME,JOB,MGR,SAL,COMM,DEPTNO)
            Select col001,col002,col003,col004,col005,col006,d.ID
                   from apex_application_temp_files f,
                   table ( apex_data_parser.parse (  
                   p_content=> f.blob_content,
                   p_file_name=> f.filename))
             left join dept d on d.code=col007
             Where LINE_NUMBER = 2;

错误原因分析

  1. 查询逻辑优先级问题:逗号连接(交叉连接)的优先级高于LEFT JOIN,原SQL中WHERE LINE_NUMBER=2是对交叉连接后的结果集过滤,若过滤后无返回行,会触发APEX解析器的"无数据"错误。
  2. 解析结果行号变化:文件格式(如表头识别、换行符、编码)或APEX解析规则变化,导致目标行的LINE_NUMBER不再是2,比如表头行被识别为第1行,数据行从第2行变为第3行。
  3. 临时文件异常:APEX临时文件可能过期、损坏,或本次上传的文件内容存在空行/格式错误,导致解析后目标行不存在。

解决方法

1. 验证解析结果

先执行以下查询,确认解析后的结果集中是否存在LINE_NUMBER=2的行:

Select t.*, d.ID
from apex_application_temp_files f,
     table ( apex_data_parser.parse (  
         p_content=> f.blob_content,
         p_file_name=> f.filename)) t
left join dept d on d.code = t.col007;
  • 若不存在LINE_NUMBER=2的行,检查文件内容是否新增空行/表头,调整LINE_NUMBER的值(如改为3)。
  • 若存在,则说明是查询逻辑问题,按方法2调整。

2. 调整查询逻辑(优先过滤目标行再关联)

使用CROSS APPLY先过滤解析后的目标行,再关联dept表,避免因外部过滤导致结果为空触发错误:

Insert into emp (EMPNO,ENAME,JOB,MGR,SAL,COMM,DEPTNO)
Select t.col001, t.col002, t.col003, t.col004, t.col005, t.col006, d.ID
from apex_application_temp_files f
cross apply (
    select * 
    from table ( apex_data_parser.parse (  
        p_content=> f.blob_content,
        p_file_name=> f.filename)) 
    where LINE_NUMBER = 2
) t
left join dept d on d.code = t.col007;

3. 检查临时文件与上传格式

  • 重新上传目标文件,排除临时文件损坏/过期问题。
  • 检查文件格式:确认CSV分隔符、引号规则与之前一致,避免解析时出现行识别错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 17:40:20