【问题标题】:node-oracledb get the output parameternode-oracledb 获取输出参数
【发布时间】: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


【解决方案1】:

我通过创建一个扭曲方法并从函数返回 p3 的函数解决了这个问题

ifsapp.TRIFM_IZINLER_API.NEW__(p0, p1, p2, p3, 'CHECK');
RETURN p3;

【讨论】:

    猜你喜欢
    • 2019-06-20
    • 2016-05-14
    • 2019-08-30
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2015-08-23
    • 2012-03-18
    • 1970-01-01
    相关资源
    最近更新 更多