JS调用ORACLE存储过程没有结果

CREATE OR REPLACE PROCEDURE mew_frpro_test(p_date     VARCHAR2,
                      p_ccl      VARCHAR2,
                      out_cursor OUT SYS_REFCURSOR) AS
BEGIN
  INSERT INTO mew.mew_shipmentplan_parameter
    (p1,
     p2,
     p3,
     create_date)
  VALUES
    (p_date,
     p_ccl,
     NULL,
     SYSDATE);
  
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
    --p_msg:='E';
    NULL;
END;




Fr JS调用:

var sql = "{call mew_frpro_test ('1111','iiiiii',?)}";
FR.remoteEvaluate('=SQL("UAT5","' + sql + '",1,1)');


没有结果,表里没有插数,也没有报错。

FineReport yxpfr 发布于 2021-2-2 14:21
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共4回答
最佳回答
0
yxpfrLv4见习互助
发布于2021-2-24 13:57

var sql = 'SQL(\'UAT5\',\'{call greytest1(150,?)}\',1)';FR.remoteEvaluate(sql);

最佳回答
0
snrtuemcLv8专家互助
发布于2021-2-2 14:23(编辑于 2021-2-2 14:26)

参考这个试一下

js调用存储过程
var value;
FR.remoteEvaluateAsync("=SQL("BSERP3", "exec [dbo].[fr_rsyc_sh_tzh] '" + RSBH + "','" + SHR + "','" + SHYJ + "','1','" + RQ + "'", 1, 1)",
 function callback(value) {
   if (value == 1) {
     // alert("提交成功");
     setTimeout("window.close();", 1000);
   } else {
     alert("提交失败\n错误代码:"+value);
   };
 });



这个关闭了没有

image.png

最佳回答
0
小县城Lv4见习互助
发布于2021-2-2 14:24

存储过程需要有返回值才行。随便select 一下。弄个返回值

最佳回答
0
shirokoLv6资深互助
发布于2021-2-2 14:52(编辑于 2021-2-2 15:25)

你根本没有输出,为啥要写输出参数。

CREATE OR REPLACE PROCEDURE mew_frpro_test(p_date     VARCHAR2,
                      p_ccl      VARCHAR2) AS
BEGIN
  INSERT INTO mew.mew_shipmentplan_parameter
    (p1,
     p2,
     p3,
     create_date)
  VALUES
    (p_date,
     p_ccl,
     NULL,
     SYSDATE);
  
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
    --p_msg:='E';
    NULL;
END;

调用:

//错误 var sql = "call mew_frpro_test ('1111','iiiiii')";


FR.remoteEvaluate('=SQL("UAT5","call mew_frpro_test (\'1111\',\'iiiiii\')",1,1)');

---

测试一下 在oracle里直接调用call mew_frpro_test ('1111','iiiiii')有没有结果

  • yxpfr yxpfr(提问者) 我也觉得不用,但上面不都是说要加吗
    2021-02-02 14:59 
  • yxpfr yxpfr(提问者) 你这个在数据库里可以,关键是JS里调没结果
    2021-02-02 15:00 
  • shiroko shiroko 回复 yxpfr(提问者) 没有返回值当然没结果,你要去数据库里看,插入动作有没有发生
    2021-02-02 15:02 
  • yxpfr yxpfr(提问者) 回复 shiroko 没有发生
    2021-02-02 15:04 
  • shiroko shiroko 回复 yxpfr(提问者) 存储函数看一下有语法错误吗
    2021-02-02 15:07 
  • 3关注人数
  • 830浏览人数
  • 最后回答于:2021-2-24 13:57
    请选择关闭问题的原因
    确定 取消
    返回顶部