ORA-06502仅在SQLPLUS中出错

时间:2015-06-12 13:09:04

标签: oracle plsql oracle11g sqlplus

我在开发服务器上有一个Oracle 11数据库。我试图执行存储过程:

declare
    date_start varchar2(15);
    date_end varchar2(15);
begin
    Fecha_inicio := '01/01/2014';
    Fecha_fin := '01/01/2016';
    FCBK.PKG_PACKAGE.Generate(Fecha_inicio,Fecha_fin);
end;  

如果我在个人Windows机器上从SQL Developer或SQL * Plus执行该过程,则该过程没有问题。

如果我在开发服务器(IBM AIX Machine)中从SQL * Plus执行该过程,则该过程以此错误结束:

ORA-06502: PL/SQL: numeric or value error: character string buffer too small

2 个答案:

答案 0 :(得分:0)

这可能是由2个SQL客户端的NLS配置之间的差异引起的。快速检查可能是首次运行

ALTER SESSION SET nls_date_format = 'dd/mm/yyyy'

或以其他方式包括

EXECUTE IMMEDIATE 'ALTER SESSION SET nls_date_format = ''dd/mm/yyyy''';

在您的程序中。

要检查当前的NLS设置,请查询“nls_session_parameters”表,其中列出了当前用户会话的配置。

SELECT *
FROM   nls_session_parameters

答案 1 :(得分:0)

问题解决了。是包的内部错误。谢谢你的所有答案。