使用 Node.js 调用 Oracle PL/SQL 函数时出现 ORA-01036
ORA-01036 when calling Oracle PL/SQL function with Node.js
我正在尝试调用此 sql 语句
let sql: string = 'BEGIN :ret := PAC_AGE_WEB.FUN_ATIVA_FAT_ELETRONICA_AEL(:i_cod_un_cons, :i_num_cli, :i_cpu_os, :i_seq_oper_os, :i_seq_ger_os); END;';
//
let bindvars: oracledb.BindParameters = {
i_cod_un_cons: Number.parseFloat(numeroUc),
i_num_cli: Number.parseFloat(numeroCliente),
i_cpu_os: codigoCpu.toString(),
i_seq_oper_os: Number.parseFloat(numeroSeqOper),
i_seq_ger_os: Number.parseFloat(numeroSeqGer),
result: { type: oracledb.STRING, dir: oracledb.BIND_OUT, maxSize: 4000 }
};
//
super.execute(sql, bindvars, autoCommit, connection, (errorAtivaFaturaEletronica, resultAtivaFaturaEletronica) => {
我收到以下错误 => 错误:ORA-01036:非法变量 name/number errorNum:1036,偏移量:0
变量类型有:
i_cod_un_cons:浮动,
i_num_cli:浮动,
i_cpu_os:字符串,
i_seq_oper_os:浮动,
i_seq_ger__os: 浮动
通过将“:ret”更改为“:result”解决。
我正在尝试调用此 sql 语句
let sql: string = 'BEGIN :ret := PAC_AGE_WEB.FUN_ATIVA_FAT_ELETRONICA_AEL(:i_cod_un_cons, :i_num_cli, :i_cpu_os, :i_seq_oper_os, :i_seq_ger_os); END;';
//
let bindvars: oracledb.BindParameters = {
i_cod_un_cons: Number.parseFloat(numeroUc),
i_num_cli: Number.parseFloat(numeroCliente),
i_cpu_os: codigoCpu.toString(),
i_seq_oper_os: Number.parseFloat(numeroSeqOper),
i_seq_ger_os: Number.parseFloat(numeroSeqGer),
result: { type: oracledb.STRING, dir: oracledb.BIND_OUT, maxSize: 4000 }
};
//
super.execute(sql, bindvars, autoCommit, connection, (errorAtivaFaturaEletronica, resultAtivaFaturaEletronica) => {
我收到以下错误 => 错误:ORA-01036:非法变量 name/number errorNum:1036,偏移量:0
变量类型有:
i_cod_un_cons:浮动,
i_num_cli:浮动,
i_cpu_os:字符串,
i_seq_oper_os:浮动,
i_seq_ger__os: 浮动
通过将“:ret”更改为“:result”解决。