为什么会出现ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小错误?

时间:2023-01-03 23:36:42

一段代码,
我通过WEBSERVICE调用的时候,却会出现ORA-06502: PL/SQL: 数字或值错误 :  字符串缓冲区太小这个错误
但是我通过PL/SQL跟踪执行的时候,却是没有错误的。


哪位知道这是怎么回事啊。。。

17 个解决方案

#1


江湖救急啊。。。

#2


应该是数据的问题,你查下数据

#3


什么数据呢?
你的意思是数据库里数据的问题?
可是我用PL/SQL跟踪执行的时候是没有问题的啊。。。

#4


我自己顶一下先。。。

#5


应该是webservice里调用oracle数据时对字符处理有问题

#6


可是报错的语句是在调用的这个ORACLE的包里报出来的。。。

#7


有可能是存储过程里使用了临时表,
或者是把字符窜转换成数值时,
例如:
to_number(1,012)时,
都会报这个错误

#8


最奇怪的是,我用webservice调用的时候会报错,可是用pl/sql跟踪的时候却是可以正常执行的,

#9


根本查不出是哪里出问题了。。。

#10


你在plsql和webservice测试数据是否一样?

#11


楼主和我遇到的问题一样,我也郁闷了两天了。不知道怎么解决。
http://community.csdn.net/Expert/topic/4778/4778457.xml?temp=.288006

狂顶

#12


楼主解决了吗?
期待高手拔刀相助!

#13


还没解决呢。。。

#14


我遇到过类似的情况,如下:
sql_text varchar2(256);
begin
   sql_text :='select ......'; 
 execute immediate sql_text ;
end;
出错的原因是sql_text varchar2(256) 中256设置的太小了,实际上sql_text 的值超过256个字节,设置成sql_text varchar2(512) 就没问题了。
希望对楼主有所帮助!

#15


可能是包中变量大小设置问题.
楼主解决了别忘了说一声啊!
我也是郁闷中呀...

#16


把WEBSERVICE的服务重启一下就好了。

#17


嗯,我也是这么解决的。

#1


江湖救急啊。。。

#2


应该是数据的问题,你查下数据

#3


什么数据呢?
你的意思是数据库里数据的问题?
可是我用PL/SQL跟踪执行的时候是没有问题的啊。。。

#4


我自己顶一下先。。。

#5


应该是webservice里调用oracle数据时对字符处理有问题

#6


可是报错的语句是在调用的这个ORACLE的包里报出来的。。。

#7


有可能是存储过程里使用了临时表,
或者是把字符窜转换成数值时,
例如:
to_number(1,012)时,
都会报这个错误

#8


最奇怪的是,我用webservice调用的时候会报错,可是用pl/sql跟踪的时候却是可以正常执行的,

#9


根本查不出是哪里出问题了。。。

#10


你在plsql和webservice测试数据是否一样?

#11


楼主和我遇到的问题一样,我也郁闷了两天了。不知道怎么解决。
http://community.csdn.net/Expert/topic/4778/4778457.xml?temp=.288006

狂顶

#12


楼主解决了吗?
期待高手拔刀相助!

#13


还没解决呢。。。

#14


我遇到过类似的情况,如下:
sql_text varchar2(256);
begin
   sql_text :='select ......'; 
 execute immediate sql_text ;
end;
出错的原因是sql_text varchar2(256) 中256设置的太小了,实际上sql_text 的值超过256个字节,设置成sql_text varchar2(512) 就没问题了。
希望对楼主有所帮助!

#15


可能是包中变量大小设置问题.
楼主解决了别忘了说一声啊!
我也是郁闷中呀...

#16


把WEBSERVICE的服务重启一下就好了。

#17


嗯,我也是这么解决的。