Oracle 12c REF CURSOR error


I have a code in c ++ that works correctly in communication with Oracle 11g, recently updated Oracle 12c release2 and since then the code no longer works generating the error in execute:

ORA-06550: line 1, column 7:
PLS-00306: wrong number or types of arguments in call to 'SP_CON_UNIDAD'
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

this is the code in c ++:

ADD_COMMAND_EX(pConnection, pCommand, Registro,adCmdStoredProc)
ADD_PARAMETER(pCommand, 0, adInteger, adParamInput, sizeof(int),vtDefTypeID)
ADD_PARAMETER(pCommand, 1, adBigInt, adParamInput, sizeof(int),vtDefID)
ADD_PARAMETER(pCommand, 2, adVarChar, adParamOutput, 80,vtMissing)
ptrRecordSet = pCommand->Execute(NULL, NULL, adCmdStoredProc | adCmdUnspecified);

and my code in Oracle has not changed:

procedure SP_CON_UNIDAD(i_n_DefTypeID IN NUMBER,
                      i_n_DefID IN NUMBER,
                      o_v2MnsjeError OUT VARCHAR2,
                      crRefCursor2 OUT cur_type);

I appreciate any collaboration, because it is confusing that only by updating the Oracle version this error is generated.

asked by Edward Vega 30.11.2018 в 17:17

0 answers