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

JMeter JDBC采样器分步执行Oracle存储过程报ORA-00922错误如何解决

问题原因

你遇到的ORA-00922报错,核心是执行脚本用的工具不兼容SQL*Plus专属语法,而Oracle SQL Developer默认支持这类扩展语法,所以同一份脚本两边执行结果不一样。

解决方案

  • 移除所有SQLPlus专属配置指令
    脚本步骤1里的SET ECHO ON、SET FEEDBACK ON、SET VERIFY ON、SET SERVEROUTPUT ON SIZE 1000000;都是SQL
    Plus用来控制输出日志的指令,不属于标准SQL/PLSQL语法,普通JDBC等直连客户端识别不了,直接删掉即可,不影响业务逻辑执行。
  • 替换EXEC存储过程调用写法
    EXEC是SQL*Plus的简写语法,标准执行需要改成匿名块包裹的形式:
    把所有的EXEC FWA_BATCH_PROCESSOR.SETUTLFILEOFF;、exec fwa_batch_processor.process_batch;都替换为:
    BEGIN
      FWA_BATCH_PROCESSOR.SETUTLFILEOFF;
    END;
    /
    
    BEGIN
      fwa_batch_processor.process_batch;
    END;
    /
    
  • 调整语句分隔符配置
    你用的执行工具如果默认按分号;拆分语句,步骤3里的匿名PL/SQL块内部的分号会被误识别为单条语句结束,导致语法报错。需要把工具的语句分隔符修改为/,或者在每一段匿名块的末尾单独加一行/作为结束标记。
  • 权限验证
    如果单独执行UPDATE语句仍报错,确认当前连接的Oracle用户拥有FWA_PROCESSING、FWA_ERRORS等所有涉及表的读写权限,同时确认表名、字段名没有拼写错误,也没有大小写敏感的引号包裹问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 02:57:00