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

解决方案 »

  1.   

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

  2.   

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

  3.   

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

  4.   

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

  5.   

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

  6.   

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

  7.   

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

  8.   

    我遇到过类似的情况,如下:
    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) 就没问题了。
    希望对楼主有所帮助!
      

  9.   

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