2017-11-06 19 views
0

내가 그것을 실행 절차와 매번에 동적 값을 삽입하기 위해 노력하고, 나는이 오류가 발견되지"세부 사항": "ORA-02291 : 무결성 제약 조건을 위반 - 부모 키가

."자세히 ORA-02291 : 무결성 제약 조건 (VIEW.AA_DEFAULT_APP_LIST_FK_AA_APP) 위반 - 상위 키를 찾을 수 없음

이것은 나의 절차입니다.

router.put('/update-applications/', jsonParser, function (req, res) { 
    var data = req.body; 

    logger.info(pool._logStats()); 

    logger.info("Begin: " + (new Date().toString())); 


    pool.getConnection(function (err, connection) { 
     logger.info("Begin Connection: " + (new Date().toString())); 
     if (err) { 
      logger.error(err.message); 
      return; 
     } 
     var bindvars = { 
      appId: '\'' + data.appId + '\'', 
      error: {dir: oracledb.BIND_OUT, type: oracledb.STRING, maxSize: 4000} 
     }; 

     logger.info("Bindvars Set: " + (new Date().toString())); 

     logger.info('***********************************'); 
     logger.info('Add Application - PUT'); 
     logger.info('App ID: ', bindvars.appId); 
     logger.info('***********************************'); 

     logger.info("Begin execute: " + (new Date().toString())); 

     connection.execute(
      "BEGIN local.pkg_app.p_ins_app_id(:appId, :error); END;", 
      bindvars, 
      function (err, result) { 
       logger.info(JSON.parse(result.outBinds.error)); 
       logger.info("End execute: " + (new Date().toString())); 
       if (err) { 
        logger.error(err.message); 
        doRelease(connection); 
        return; 
       } 

       logger.info("Send JSON: " + (new Date().toString())); 
       res.json(JSON.parse(result.outBinds.error)); 
       logger.info("JSON Sent: " + (new Date().toString())); 

       doRelease(connection); 
      }); 
    }); 
}); 

나는 SQL Developer에서이 코드를 시도하고 도와주세요

declare 
v_app_id varchar2(10) := 'A123456'; 
o_error     VARCHAR2(100) := 'None'; 
Begin 
dbms_output.put_line('START'); 
local.PKG_APP.p_ins_app_id(v_app_id,o_error); 
dbms_output.put_line('END'); 
dbms_output.put_line(o_error); 
end; 

.. 나를 위해 잘 작동합니다.

+0

node.js를 많이 사용하지는 않았지만,'appId' 바인드 변수를 둘러싼 여분의 따옴표가 문제가 될 것이라고 확신합니다. – kfinity

+0

하지만 따옴표로 묶고 변수로 전달해야합니다. 따옴표없이 답장하고 답장 해 드리겠습니다. – a2441918

+0

고마워요. 그게 효과가 있었어. ORA-01036 : 변수 이름/번호가 잘못되었습니다. \ n " – a2441918

답변

0

따옴표를 제거하여 작동했습니다.