我在开发服务器上有一个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
答案 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)
问题解决了。是包的内部错误。谢谢你的所有答案。