JEduardo 0 Denunciar post Postado Agosto 17, 2007 Pessoal to desenvolvendo um sistema com php+oracle e estou com um probleminha.... o oracle esta me retornando este erro: ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno demais numérico ou de valor ORA-06512: em "BADAP.SP_ATUALIZA_USUARIO", line 45 A principio eu achei que fosse erro em tamanho de variaveis, mas continua dando este erro. aqui ta a Stored Procedure Atualiza_usuario: create or replace procedure SP_ATUALIZA_USUARIO(vc2_nome In usuario.nome%type,vc2_apelido In usuario.apelido%type,vc2_email In usuario.apelido%type,c_nivel In usuario.nivel%type,vc2_senha In Varchar2,c_op_transacao In Char,vc2_erro_orac Out Varchar2) isvc2_erro_aplic erro_convert.msg_err_apli%type;vc2_comando Varchar2(3000);vc2_comando2 Varchar2(3000);begin Case c_op_transacao When 'I' Then INSERT INTO USUARIO(NOME,EMAIL,APELIDO,NIVEL) VALUES(vc2_nome,vc2_email,vc2_apelido,c_nivel); vc2_comando:='Create User '|| vc2_nome ||' identified by '|| vc2_senha ||' default tablespace badap temporary tablespace temp'; execute immediate vc2_comando; vc2_comando2:='grant gbadap to "'||vc2_nome||'"'; execute immediate vc2_comando2; When 'U' Then UPDATE USUARIO SET EMAIL=vc2_email, APELIDO=vc2_apelido, NIVEL=c_nivel WHERE NOME=vc2_nome; When 'E' Then DELETE USUARIO WHERE NOME=vc2_nome; vc2_comando:='Drop user "'|| vc2_nome ||'"'; execute immediate vc2_comando; End Case; Commit; vc2_erro_aplic:=Null; Exception When Others Then vc2_erro_orac:=Sqlerrm; sp_trat_erro(vc2_erro_orac,vc2_erro_aplic); end SP_ATUALIZA_USUARIO; a linha 45 é esta -> vc2_erro_orac:=Sqlerrm; alguem poderia me ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
alphamek 2 Denunciar post Postado Agosto 22, 2007 Esse erro é comum quando está tentando manipular diferentes tipos de dados, exemplo, uma variavel STRING inserir no campo númerico, ou quando o tamanho da coluna ou variavel é pequeno para o valor... basta fazer uma pequena revisão no seu código.Abraços, Compartilhar este post Link para o post Compartilhar em outros sites