J'ai un problème très rare avec Oracle et .NET, j'ai une sélection simple qui récupère une liste de produits, qui fonctionne correctement. Mais alors, avec une procédure stockée, il ne semble pas l'exécuter, mais il ne dit rien sur les erreurs ou les paramètres manquants. Cela fonctionne correctement lorsqu'il est exécuté dans SQL Developer.La procédure stockée Oracle ne s'exécute pas dans .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 exito = 0;
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, Convert.ToInt32(TextBoxCantidad.Text) , 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, exito, ParameterDirection.Output);
/*********************Oracle Command**********************************************************************/
ora_cmd.ExecuteNonQuery();
Le SP est trop grand pour ici, donc je vais ajouter que l'en-tête.
PROCEDURE PR_ABC_P_ALTA_TARJETA_PAYWARE (
Lc_Param_Issuer In Varchar2,
Ln_Param_Valid_Product In Varchar2,
Ln_Param_Total In Number,
Lc_Param_User In Varchar2,
Lc_Encrypted_Password In Varchar2,
Lc_Exito Out Number
)
Toute aide ou compréhension est appréciée.
Vous devez indenter votre code mieux. – gdoron