【发布时间】:2019-09-29 04:49:13
【问题描述】:
我有下面的代码,用于我们的带有 IFS 的 ERP 系统。代码在设置完所有参数后调用存储过程。 p3 是一个 inout 参数,执行后返回一个值。我的问题是如何在程序执行后读取 p3 。
DECLARE
p0 VARCHAR2(32000);
p1 VARCHAR2(32000);
p2 VARCHAR2(32000);
p3 VARCHAR2(32000);
BEGIN
ifsapp.client_sys.clear_attr(p3);
ifsapp.client_sys.add_to_attr('IZIN_TALEP_NO', '0', p3);
ifsapp.client_sys.add_to_attr('IZIN_KODU', '01', p3);
ifsapp.client_sys.add_to_attr('COMPANY_ID', 'XXX', p3);
ifsapp.client_sys.add_to_attr('EMP_NO', '123', p3);
ifsapp.client_sys.add_to_attr('CIKIS_TARIHI', '2019-09-13-00.00.00', p3);
ifsapp.client_sys.add_to_attr('DONUS_TARIHI', '2019-09-21-00.00.00', p3);
ifsapp.client_sys.add_to_attr('ISE_BASLAMA_TARIHI', '2019-09-22-00.00.00', p3);
ifsapp.client_sys.add_to_attr('SURE_GUN', '9', p3);
ifsapp.client_sys.add_to_attr('SURE_SAAT', '0', p3);
ifsapp.client_sys.add_to_attr('NOTLAR', 'jhfsdkjjhlfdskh g', p3);
ifsapp.client_sys.add_to_attr('ADRES', '897549875498754', p3);
ifsapp.TRIFM_IZINLER_API.NEW__(p0, p1, p2, p3, 'CHECK') ;
DBMS_OUTPUT.PUT_LINE(p3);
EXCEPTION
WHEN ifsapp.error_sys.err_security_checkpoint THEN
RAISE;
WHEN OTHERS THEN
ROLLBACK;
RAISE;
END;
我也试过这种方法
..... ifsapp.TRIFM_IZINLER_API.NEW__(p0, p1, p2, p3, 'CHECK'); :mm :=p3;
节点代码为
...dbHelper.executeReturn(checkSql, [{
mm : {
dir: oracledb.OUT,
type: oracledb.STRING
}
}], req, res, true).then(res => {
return res;
});
我收到此错误
NJS-044:在此上下文中不需要命名的 JSON 对象
感谢任何帮助
【问题讨论】:
-
在node-oracledb doc 中搜索带有'Jones' 的示例您没有显示实际的node-oracledb 调用,但您几乎肯定不希望绑定块是
[{ ...}]。由于您使用的是命名绑定,因此请使用“{ ... }”。此外,您还需要设置maxSize,否则默认返回的大小为 200 字节。
标签: node.js node-oracledb