admin管理员组

文章数量:1384595

I am getting the below error while trying to execute a oracle stored procedure from loopback4.

Error: NJS-007: invalid value for "type" in parameter 2
    at Connection.execute (C:\Project\Loopback4 API\tdr-api-loopback\node_modules\loopback-connector-oracle\node_modules\oracledb\lib\connection.js:167:17)
    at Connection.execute (C:\Project\Loopback4 API\tdr-api-loopback\node_modules\loopback-connector-oracle\node_modules\oracledb\lib\util.js:185:19)
    at C:\Project\Loopback4 API\tdr-api-loopback\node_modules\loopback-connector-oracle\lib\oracle.js:240:16
    at Pool.<anonymous> (C:\Project\Loopback4 API\tdr-api-loopback\node_modules\loopback-connector-oracle\node_modules\oracledb\lib\pool.js:83:7)

Code which I used to call the procedure is

async isUserPermissionExists(name: string, user_id: number): Promise<number> {   
    const params = [
      p_name: {val: name, type: oracledb.STRING, dir: oracledb.BIND_IN},
      p_user_id: {val: user_id, type: oracledb.NUMBER, dir: oracledb.BIND_IN},
      p_success_o: {type: oracledb.NUMBER, dir: oracledb.BIND_OUT},
    ];

    const sql =
      'BEGIN isUserPermissionExists(:p_name, :p_user_id, :p_success_o); END;';

    try {
      const result = await this.execute(sql, params);
      console.log(result);
      return Number(result.outBinds[0]);  
    } catch (reason) {
      console.error(reason);
      return 0;
    }
  }

and oracle procedure

  procedure isUserPermissionExists(p_name in varchar2, p_user_id in number, p_success_o out number)

Can you please help me to resolve this issue?

本文标签: nodejsLoopback4Invalid parameter type error while calling oracle procedureStack Overflow