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

如何使用Blue Prism调用存储过程及带输入参数的数据库包?

Blue Prism调用存储过程及数据库包的解决方案

一、通用存储过程调用步骤

  • 先在Blue Prism里创建Database Connection对象,配置好目标数据库的连接信息(驱动、地址、账号密码等)
  • 新建Process或Object,添加Execute SQL动作
  • 根据数据库类型编写调用语句:
    • SQL Server:EXEC 存储过程名 @参数1=值1, @参数2=值2
    • Oracle:BEGIN 存储过程名(参数1, 参数2); END;
  • 若需获取返回值,可通过Get Multiple Rows或Get Single Row动作读取结果集,或直接配置输出参数映射

二、你的数据库包调用格式调整

你提供的SQL在SQL Navigator可正常运行,但Blue Prism无法执行的核心原因是:Blue Prism不依赖dbms_output获取结果,需改用参数映射的方式处理。以下是两种可行的调整方案:

方法1:匿名块+输出参数映射

  1. 在Blue Prism的Execute SQL动作中,编写如下PL/SQL块:
DECLARE
    req  CLOB := ?;
    resp CLOB;
BEGIN
    resp := dbo.pkg_order_Transaction.get_order_history(req);
    ? := resp;
END;
  1. 配置参数映射:
    • 第一个?绑定Blue Prism中的输入字符串变量(内容为{"ItemID":"12345678","splitRawAct":"0"}),参数方向设为Input
    • 第二个?绑定Blue Prism中的输出字符串变量,参数方向设为Output
  2. 执行完成后,输出变量即可获取存储过程返回的CLOB结果

方法2:用查询直接返回结果

如果数据库支持,也可以将调用语句封装为查询,再通过Get Single Row动作读取结果:

SELECT dbo.pkg_order_Transaction.get_order_history('{"ItemID":"12345678","splitRawAct":"0"}') AS resp FROM DUAL

额外注意事项

  • 确认Blue Prism使用的数据库驱动支持CLOB类型的参数传递与读取,若遇类型兼容问题,可尝试将CLOB转换为VARCHAR2(注意长度限制)
  • 检查数据库用户是否拥有调用该包中存储过程的权限
  • 提前验证JSON参数的格式,避免出现转义错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 06:17:24