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

Oracle APEX v21.1 JS调用Process后DML插入失效问题咨询

问题根因与修复方案

1. 触发条件不匹配

你自动生成的Form - Automatic Row Processing (DML)进程默认触发条件为「对应CREATE按钮被点击」,即仅当提交请求的request值和CREATE按钮绑定的请求值一致时才会执行。你当前apex.submit传入的request为自定义的insertDocumentProcess,和DML进程的触发条件不匹配,所以DML进程不会执行。你看到的「Row created」提示大概率是其他自定义进程返回的,并非DML插入成功的提示。

修复方式二选一:

  • 修改DML进程的触发条件:将进程的「执行条件」改为「当请求等于insertDocumentProcess时执行」,取消和CREATE按钮的绑定
  • 修改apex.submit的请求值:将提交的request改为CREATE按钮对应的默认请求值(通常为按钮名称CREATE)

2. BLOB字段提交缺失必要配置

APEX中上传BLOB文件时,表单提交需要指定编码格式为multipart/form-data,否则文件内容不会被传递到后端,即使DML进程执行也无法插入完整数据。修改你的提交代码,添加编码配置:

apex.submit({
    request:'CREATE', // 替换为和DML进程匹配的request值
    encoding: "multipart/form-data"
});

3. 额外检查项

  • 检查绑定在CREATE按钮上的动态动作:确认「执行选项」中的「取消初始化事件」配置符合预期,如果你完全自定义提交逻辑可以开启,否则要保留按钮默认的提交行为
  • 检查三个页面项P28_BLOB_DOCUMENT、P28_COMMENTAIRE_DOCUMENT、P28_DATE_DOCUMENT的「提交时发送」选项已开启,确保字段值能正常传到后端
  • 可开启APEX调试模式,提交后查看调试日志,明确DML进程是否被调用、跳过的具体原因,方便快速定位问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:27:04