Fórum TSQLStoredProc #212993
10/02/2004
0
Tenho uma aplicação em Delphi 7/Oracle 9i, a qual conecto usando DbExpress. Conectei no banco usando o componente TSQLConection – (Conectou normal)
Coloquei na aplicação TSQLStoredProc e quando executo a Stored Procedure na aplicação aparece a mensagem abaixo, com os parâmetros CODIGO numérico e DESCRICAO varchar2:
´ORA-06502: PL/SQL: erro: erro de conversão de caractere em número
numérico ou de valor
ORA-06512: em line 1´.
Quando mudo o parâmetro numérico da procedure Pl/Sql para varchar2 aparece a mensagem abaixo:
´ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno demais
numérico ou de valor
ORA-06512: em ´ESTADIO.ALT_COMPETENCIA´, line 14
ORA-01407: não é possível atualizar
(´ESTADIO´.´COMPETENCIA´.´COMP_DESCR´) para NULL
ORA-06512: em line 1´.
Executando tal procedure através do SQL Plus, roda perfeitamente.
Através do Delphi 7 ocorre os erros acima.
Procedure:
Coloquei na aplicação TSQLStoredProc e quando executo a Stored Procedure na aplicação aparece a mensagem abaixo, com os parâmetros CODIGO numérico e DESCRICAO varchar2:
´ORA-06502: PL/SQL: erro: erro de conversão de caractere em número
numérico ou de valor
ORA-06512: em line 1´.
Quando mudo o parâmetro numérico da procedure Pl/Sql para varchar2 aparece a mensagem abaixo:
´ORA-06502: PL/SQL: erro: buffer de string de caracteres pequeno demais
numérico ou de valor
ORA-06512: em ´ESTADIO.ALT_COMPETENCIA´, line 14
ORA-01407: não é possível atualizar
(´ESTADIO´.´COMPETENCIA´.´COMP_DESCR´) para NULL
ORA-06512: em line 1´.
Executando tal procedure através do SQL Plus, roda perfeitamente.
Através do Delphi 7 ocorre os erros acima.
Procedure:
CREATE OR REPLACE PROCEDURE alt_competencia (p_comp_descr IN competencia.comp_descr¬TYPE, p_comp_codigo IN competencia.comp_codigo¬TYPE, p_retorno OUT VARCHAR2) IS BEGIN UPDATE competencia SET comp_descr = p_comp_descr WHERE comp_codigo = p_comp_codigo; p_retorno = ´OK´; COMMIT; EXCEPTION WHEN OTHERS THEN p_retorno = ´Não foi possível realizar esta operação!´; ROLLBACK; END alt_competencia
Roa
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)