【问题标题】:Error: ORA-01008: not all variables bound错误:ORA-01008:并非所有变量都绑定
【发布时间】:2021-12-18 04:55:24
【问题描述】:

这个错误已经有几个小时了,但我无法确定问题所在。错误:ORA-01008:并非所有变量都绑定。

控制器

async bipagem(req: Request, res: Response) {
        try {
          let credentials = super.openToken(req)
          let { p_fil_filial, p_set_cdgo, p_mini_fab, p_codigo_barra } = req.query
          let info = await this.rep.bipagem(
            p_fil_filial as string,
            p_set_cdgo as string,
            p_mini_fab as string,
            p_codigo_barra as string,
            credentials as string
          )
          res.json(info)
        } catch (error) {
          catchErr(res, error)
        }
      }
    }

存储库

     public async bipagem(
        p_fil_filial: string,
        p_set_cdgo: string,
        p_mini_fab: string,
        p_codigo_barra: string,
        userPool: string
      ) {
        let conn
        try {
          conn = await connection(userPool)
          const ret = await conn.execute(
            `DECLARE
            c_result SYS_REFCURSOR;      
            BEGIN
            -- Call the function
            :result := brio.pck_fab0024.bipagem(p_fil_filial => :p_fil_filial,
            p_set_cdgo => :p_set_cdgo,
            p_mini_fab => :p_mini_fab,
            p_codigo_barra => :p_codigo_barra,
            p_msg => :p_msg);
            DBMS_SQL.RETURN_RESULT(c_result);
            END;`,
            {
              p_fil_filial,
              p_set_cdgo,
              p_mini_fab,
              p_codigo_barra,
              p_msg: { type: oracledb.STRING, dir: oracledb.BIND_OUT }
            }
          )
          return { ...(ret.outBinds as object), conteudo: ret.implicitResults[0] }
        } catch (e) {
          console.log('Erro na fab0024: ', e.message)
          return {
            p_fil_filial,
            p_set_cdgo,
            p_codigo_barra,
            p_msg: '',
            conteudo: []
          }
        } finally {
          if (conn && typeof conn !== 'string') conn.close()
        }
      }
    }

我尝试包含 p_msg 参数并得到此返回错误 TS2339: Property 'bipagem' does not exist on type 'unknown'。

【问题讨论】:

    标签: node.js typescript oracle node-oracledb


    【解决方案1】:

    您的 PL/SQL 块有六个绑定参数,但您只传递了五个值。因此,您会收到错误提示其中一个局部变量未绑定也就不足为奇了。

    我想你忽略了下面一行中的:result也是一个绑定参数:

                :result := brio.pck_fab0024.bipagem(p_fil_filial => :p_fil_filial,
    

    我怀疑您打算将结果分配给局部变量 c_result(您目前没有为其分配任何值)而不是额外的绑定参数:

                c_result := brio.pck_fab0024.bipagem(p_fil_filial => :p_fil_filial,
    

    【讨论】:

      猜你喜欢
      • 2011-09-22
      • 2020-05-06
      • 2021-12-11
      • 1970-01-01
      • 2016-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-09-05
      • 2010-11-28
      相关资源
      最近更新 更多