ORA-01036 при вызове функции Oracle PL/SQL с 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: недопустимое имя/номер переменной errorNum: 1036, смещение: 0

Типы переменных: i_cod_un_cons: float,
i_num_cli: float,
i_cpu_os: string,
i_seq_oper_os: float,
i_seq_ger__os: float


person Emmanuel Oliveira    schedule 01.06.2020    source источник
comment
Ваш оператор SQL ссылается на :ret, но ваш bindvars имеет свойство с именем result.   -  person Dan McGhan    schedule 02.06.2020


Ответы (1)


Решено путем замены ':ret' на ':result'.

person Emmanuel Oliveira    schedule 10.06.2020