ORA-02292 is not mapped to the correct DB2 error SQLCODE by ODP4DRDA (Doc ID 2259616.1)

Last updated on APRIL 26, 2017

Applies to:

Oracle Database Provider for DRDA - Version 12.1.0.2 and later
Linux x86-64

Symptoms

Error ORA-02292 following DELETE is not mapped to correct DB2 sqlcode by ODP4DRDA
and should map to sqlcode -532 in DB2 along with constraint name in SQLERRMC variable of SQLCA;

The ORA-02292 error occurred during connection  from DB2 10.1 on z/OS (2.2),
through "Oracle Database Provider for DRDA" (DP4DRDA) 12.1.0.2 running on Linux x86-64,
to Oracle 12.1.0.2.161018 Database (w/ Oct 2016 DB PSU patch 24006101) on Linux x86-64;

This problem makes troubleshooting data issues very difficult.

Trace file /u01/app/oracle/diag/dps/drdaas/drdaproc/trace/pp_91593_drdaas.trc

Entering SetEffectiveSchema at 2017-02-22 11:42:43.356821000
DRDAASD1 ORATST4.Z28U0530 DynamicRules: R, Stmt#859 Type: 19
Applying STATIC RULES: EMD
Exiting SetEffectiveSchema, RC= 0 at 2017-02-22 11:42:43.356854000
OCIAttrGet(h0x2935440,OCIT_ATTR_END_OF_CALL_STATUS) -> RC=0 (flag=00000002)
OCIStmtExecute(0x2b0fcf8[0x2b15ff8],1,m=0) -> RC=-1
OCIAttrGet(h0x2935440,OCIT_ATTR_END_OF_CALL_STATUS) -> RC=0 (flag=00000002)
Entering dpsaddoeDoOciError at 2017-02-22 11:42:43.358233000
From line 2261
Oracle Errno = 2292
Entering dpsaddoEProcessOracleError at 2017-02-22 11:42:43.358312000
errP(87):ORA-02292: integrity constraint (EMD.PROD_SCN_CODES_FK1) violated - child record found

There are 15 tokens in the text.
Parse error offset is 0
Stmt SQL(45) >>DELETE FROM PRODUCT_MASTER WHERE PROD_ID = :1<<
Oracle err=2292:"ORA-02292: integrity constraint (EMD.PROD_SCN_CODES_FK1) violated - child record found"
Unrecognized Oracle Error 2292; sending SQLCODE=-84, SQLSATE=42612
Entering SQLCASet, SQLCA= 0x2887d48 at 2017-02-22 11:42:43.358410000
SQLCA item 225
Entering SQLCASet, SQLCA= 0x2887d48 at 2017-02-22 11:42:43.358437000
SQLCA item 104
Exiting SQLCASet, RC= 0 at 2017-02-22 11:42:43.358461000
SQLCA item 607
Exiting SQLCASet, RC= 0 at 2017-02-22 11:42:43.358479000
Entering SQLCASet, SQLCA= 0x2887d48 at 2017-02-22 11:42:43.358497000
SQLCA item 101
SQLCASet: sqlcode=-84
SQLCA item 102
SQLCASet: sqlstate=42612

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms