一段代码,
我通过WEBSERVICE调用的时候,却会出现ORA-06502: PL/SQL: 数字或值错误 : 字符串缓冲区太小这个错误
但是我通过PL/SQL跟踪执行的时候,却是没有错误的。
哪位知道这是怎么回事啊。。。
17 个解决方案
#1
江湖救急啊。。。
#2
应该是数据的问题,你查下数据
#3
什么数据呢?
你的意思是数据库里数据的问题?
可是我用PL/SQL跟踪执行的时候是没有问题的啊。。。
你的意思是数据库里数据的问题?
可是我用PL/SQL跟踪执行的时候是没有问题的啊。。。
#4
我自己顶一下先。。。
#5
应该是webservice里调用oracle数据时对字符处理有问题
#6
可是报错的语句是在调用的这个ORACLE的包里报出来的。。。
#7
有可能是存储过程里使用了临时表,
或者是把字符窜转换成数值时,
例如:
to_number(1,012)时,
都会报这个错误
或者是把字符窜转换成数值时,
例如:
to_number(1,012)时,
都会报这个错误
#8
最奇怪的是,我用webservice调用的时候会报错,可是用pl/sql跟踪的时候却是可以正常执行的,
#9
根本查不出是哪里出问题了。。。
#10
你在plsql和webservice测试数据是否一样?
#11
楼主和我遇到的问题一样,我也郁闷了两天了。不知道怎么解决。
http://community.csdn.net/Expert/topic/4778/4778457.xml?temp=.288006
狂顶
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) 就没问题了。
希望对楼主有所帮助!
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跟踪执行的时候是没有问题的啊。。。
你的意思是数据库里数据的问题?
可是我用PL/SQL跟踪执行的时候是没有问题的啊。。。
#4
我自己顶一下先。。。
#5
应该是webservice里调用oracle数据时对字符处理有问题
#6
可是报错的语句是在调用的这个ORACLE的包里报出来的。。。
#7
有可能是存储过程里使用了临时表,
或者是把字符窜转换成数值时,
例如:
to_number(1,012)时,
都会报这个错误
或者是把字符窜转换成数值时,
例如:
to_number(1,012)时,
都会报这个错误
#8
最奇怪的是,我用webservice调用的时候会报错,可是用pl/sql跟踪的时候却是可以正常执行的,
#9
根本查不出是哪里出问题了。。。
#10
你在plsql和webservice测试数据是否一样?
#11
楼主和我遇到的问题一样,我也郁闷了两天了。不知道怎么解决。
http://community.csdn.net/Expert/topic/4778/4778457.xml?temp=.288006
狂顶
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) 就没问题了。
希望对楼主有所帮助!
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
嗯,我也是这么解决的。