我收到了返回的函数。Oracle动态参数错误
我正在使用dapper,并在执行此查询时遇到问题。
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");
而且我得到了一个Oracle错误:
ORA-06502: PL/SQL: error number or value :character string buffer too small
我试图给一个大小为返回值,但这并没有工作,我也试图弄清楚,但一切都没有工作。
有人可以看看这个吗?
您是否尝试了OracleDbType.Varchar2的值? – tdbeckett
错误是否可以在过程调用本身?如果你直接从sqlplus调用该过程,它是否工作? – OldProgrammer
看到我的回答:) –