Erreur de paramètres dynamiques Oracle

c# dapper

Question

J'ai la fonction qui me renvoie un varchar2 .

J'utilise dapper et j'ai un problème lors de l'exécution de cette requête.

OracleDynamicParameters DictionaryParams = new OracleDynamicParameters();

DictionaryParams.Add(name: "id", value: id,direction: ParameterDirection.Input);
DictionaryParams.Add(name: "Return_Value",oracleDbType: OracleDbType.Varchar2,direction: ParameterDirection.ReturnValue);

con.Execute("function_name", DictionaryParams, commandType: CommandType.StoredProcedure);

 string a;

 a = DictionaryParams.Get<string>("Return_Value");

Et j'ai une erreur Oracle:

ORA-06502: PL / SQL: numéro ou valeur d'erreur: tampon de chaîne de caractères trop petit

J'ai essayé de donner une taille à une valeur de retour mais cela n'a pas fonctionné et j'ai également essayé de comprendre, mais tout n'a pas fonctionné.

Quelqu'un peut-il jeter un oeil à cela?

Réponse populaire

Vous devez spécifier la taille maximale de varchar2.

Exemple:

parameters.Add ("P_OUTPUT", dbType: OracleDbType.Varchar2, direction: ParameterDirection.Output, taille: 1000);



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi