.net – Oracle.Dataaccess错误ORA-06502:PL / SQL:数字或值错
发布时间:2021-03-19 01:53:43 所属栏目:站长百科 来源:网络整理
导读:我正在从.NET应用程序调用存储过程. proc返回Varchar2类型的out参数.为了胎儿 ch out参数我将参数作为OracleParameter传递给命令: parm12 = new OracleParameter("testkey",OracleDbType.Varchar2,out2,ParameterDirection.Output); 当我执行proc时,我收到
我正在从.NET应用程序调用存储过程. proc返回Varchar2类型的out参数.为了胎儿
parm12 = new OracleParameter("testkey",OracleDbType.Varchar2,out2,ParameterDirection.Output); 当我执行proc时,我收到一个错误 PL/SQL: numeric or value error: character string buffer too small. 解决方法找到了答案.对于OUT参数,我声明大小为varchar的最大值 – 32767并且它开始工作. 为简化起见,存储过程返回类型为VARCHAR2的参数OUT.但是为了消耗.NET的输出,我传递的VARCHAR2没有任何大小.因此,分配用于接收reurn值的缓冲区空间为0字节.当proc返回的值超过分配的缓冲区(0字节)时,它会出错. 所以我在C#代码中指定了VARCHAR2-32767的最大值,它开始工作了:). (编辑:ASP站长) 【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。 |
相关内容
未处理完善
-
无相关信息
最新更新