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;
.. 나를 위해 잘 작동합니다.
node.js를 많이 사용하지는 않았지만,'appId' 바인드 변수를 둘러싼 여분의 따옴표가 문제가 될 것이라고 확신합니다. – kfinity
하지만 따옴표로 묶고 변수로 전달해야합니다. 따옴표없이 답장하고 답장 해 드리겠습니다. – a2441918
고마워요. 그게 효과가 있었어. ORA-01036 : 변수 이름/번호가 잘못되었습니다. \ n " – a2441918