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:
TYPE cur_type IS REF CURSOR;
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.