ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
2007-05-31 15:42
561 查看
在.NET中执行ORACLE存储过程的函数时(有返回值)报错:ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
解决办法:存储过程的参数添加得按特定顺序,第1个参数为函数的返回值,第2个参数为函数中的第一个参数,以些类推。 把顺序打乱了,通常会报告如上错误,当然也不是都报,但运行结果不对。
代码如下:
OracleCommand com = new OracleCommand("pk_wt.f_get",con);
com.CommandType = CommandType.StoredProcedure;
OracleParameter oPram = new OracleParameter("str_",OracleDbType.Varchar2,8000);
oPram.Direction = ParameterDirection.InputOutput;
oPram.Value = "我是.NET程序中输入的字符型参数值。";
OracleParameter oPram2 = new OracleParameter("result_", OracleDbType.Varchar2,8000);
oPram2.Direction = ParameterDirection.ReturnValue;
oPram2.Value = "我是.NET程序中预设的ORACLE存储过程(函数)返回值。";//这一行代码纯属示例,实际中根本没有此必要
com.Parameters.Add(oPram2);//装返回值的参数要第1个添加
com.Parameters.Add(oPram);
com.ExecuteNonQuery();
解决办法:存储过程的参数添加得按特定顺序,第1个参数为函数的返回值,第2个参数为函数中的第一个参数,以些类推。 把顺序打乱了,通常会报告如上错误,当然也不是都报,但运行结果不对。
代码如下:
OracleCommand com = new OracleCommand("pk_wt.f_get",con);
com.CommandType = CommandType.StoredProcedure;
OracleParameter oPram = new OracleParameter("str_",OracleDbType.Varchar2,8000);
oPram.Direction = ParameterDirection.InputOutput;
oPram.Value = "我是.NET程序中输入的字符型参数值。";
OracleParameter oPram2 = new OracleParameter("result_", OracleDbType.Varchar2,8000);
oPram2.Direction = ParameterDirection.ReturnValue;
oPram2.Value = "我是.NET程序中预设的ORACLE存储过程(函数)返回值。";//这一行代码纯属示例,实际中根本没有此必要
com.Parameters.Add(oPram2);//装返回值的参数要第1个添加
com.Parameters.Add(oPram);
com.ExecuteNonQuery();
相关文章推荐
- ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小
- 也谈Oracle异常: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小解决办法
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小解决办法
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- 生成AWR时出错, ERROR: ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 ORA-06512: 在 "SYS.DBMS_WORKLOAD_REPOSITORY"
- "ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小"的解决,总结一下oracle开发的小经验
- 在业务系统中调用水晶报表提示:ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 错误分析
- ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小
- ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小错误分析
- ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小 错误分析
- ORA-06502:PL/SQL:数字或值错误:字符串缓冲区太小错误分析
- 生成awr报告时报ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- Oracle ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小
- ORA-06502: PL/SQL: 数字或值错误 : 字符到数值的转换错误
- ORA-06502:PL/SQL:数字或值错误:字符到数值的转换错误