Sto riscontrando seri problemi nel tentativo di recuperare i dati dall'SP. Stavo cercando di fare in questo modo:Come restituire i parametri di output di Oracle da una procedura memorizzata in .NET
OracleCommand ora_cmd = new OracleCommand("a6r1.PR_ABC_P_ALTA_TARJETA_PAYWARE", ora_conn);
ora_cmd.BindByName = true;
ora_cmd.CommandType = CommandType.StoredProcedure;
int success= new int();
ora_cmd.Parameters.Add("Lc_Param_Issuer", OracleDbType.Varchar2, issuer, ParameterDirection.Input);
ora_cmd.Parameters.Add("Ln_Param_Valid_Product", OracleDbType.Varchar2, DropDownListProducto.SelectedValue.ToString(), ParameterDirection.Input);
ora_cmd.Parameters.Add("Ln_Param_Total", OracleDbType.Int32, parsed, ParameterDirection.Input);
ora_cmd.Parameters.Add("Lc_Param_User", OracleDbType.Varchar2, user, ParameterDirection.Input);
ora_cmd.Parameters.Add("Lc_Encrypted_Password", OracleDbType.Varchar2, pass, ParameterDirection.Input);
ora_cmd.Parameters.Add("Lc_Exito", OracleDbType.Int32, success, ParameterDirection.Output);
ora_cmd.Parameters.Add("Lc_Error", OracleDbType.Varchar2, errorMessage, ParameterDirection.Output);
Ma non restituisce nulla alle variabili SUCCESSO o errorMessage. Che cosa sto facendo di sbagliato? C'è un modo migliore? Funziona bene quando eseguito direttamente su Oracle.
Sì, hai assolutamente ragione. Non mi aspettavo che i parametri di Oracle fossero così specifici rispetto a quelli di sql. Di te molto. –
'if (ora_cmd.Parameters [" Lc_Exito "]). Value == 0)' contiene una parentesi aggiuntiva. Vuoi dire 'if (ora_cmd.Parameters [" Lc_Exito "]. Value == 0)'? – stephen