Erro de conversão

20/04/2010

Boa tarde!

Estou com o seguinte erro no Delphi 2010 e Oracle 10g.

   Criei uma table chamada  ACORDOSMAC  com 2 campos  como segue

            CHAVE                                     NOT NULL NUMBER
            ACESSO                                                    NUMBER
 
   criei uma procedure no oracle 10g


CREATE OR REPLACE PROCEDURE PROC_GRAVA_ACORDO_MAC
    (vACESSO              IN NUMBER) IS

BEGIN

INSERT INTO ACORDOSMAC(CHAVE, ACESSO)
VALUES(ACORDOSMAC_SEQ.NEXTVAL, vACESSO);
COMMIT;

END PROC_GRAVA_ACORDO_MAC;
/
show errors




no delphi 2010 coloquei um componente TsqlStoredProc, configurei com o procedure no oracle
e o tipo DataType com o FtInteger quan executo:

exemplo:
proc_grava_acordo.ParamByName('VACESSO').AsInteger:= 1 ;
proc_grava_acordo.ExecProc;

gera um erro como descrevo abaixo:


Project Mac.exe raised exception class TDBXError with message 'ORA-06502: PL/SQL: erro: erro de conversão de caractere em número numérico ou de valor
ORA-06512: em line 1'.

Onde estou errando, pode me ajudar....
           

            







Henrique Rocha

Henrique Rocha

Curtidas 0

Respostas

Wesley Yamazack

Wesley Yamazack

20/04/2010

Olá amigo,

 Tente fazer um teste no evento BeforeConnect do seu SQLConnection, e implemente o seguinte comando :


procedure TForm1.ConexaoBeforeConnect(Sender: TObject);
begin
Conexao.Execute(
'ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ''.,''', nil);
end;

Veja se isso irá resolver seu problema.

Att,

Wesley Y
GOSTEI 0
Henrique Rocha

Henrique Rocha

20/04/2010

Pode encerrar esse chamado.
Obrigado.
GOSTEI 0
Wesley Yamazack

Wesley Yamazack

20/04/2010

Ok amigo, chamado encerrado.

Att,

Wesley Y
GOSTEI 0
POSTAR