Comment retourner les paramètres de sortie d'Oracle à partir d'une procédure stockée dans .NET
Je vais avoir de sérieux problèmes en essayant de récupérer les données à partir de la SP. J'ai essayé de faire comme ceci:
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);
Mais il n'est pas de retour en rien les variables de succès ou errorMessage. Ce que je fais mal? Est-il un meilleur moyen? Il fonctionne très bien lorsqu'il est exécuté directement sur Oracle.
source d'informationauteur Jesus Zamora
Vous devez vous connecter pour publier un commentaire.
Il semble que vous ne pouvez pas utiliser une variable existante en tant que paramètre de sortie, essayer de cette façon, au lieu
Je n'ai pas trouvé l'endroit où il documente l'ensemble du processus dans un seul endroit, donc après frapper ma tête contre le mur et de se taper, voici ma version de ce que j'ai trouvé avec l'aide de l'un des paramètres de sortie de l'OP code:
Ensuite la procédure stockée doit être configuré pour accepter le
OUT
paramètre et vous devez lui attribuer dans la procédure:Évidemment, cela laisse de côté tous les autres paramètres qui ont été envoyés et les autres "de" paramètres - a voulu simplifier. Mais cela montre comment tout est mis en place, avant, pendant, et après l'appel à la procédure stockée dans le C#, et comment définir la
OUT
paramètre, et d'obtenir la valeur, de la procédure stockée.