Fórum Erro de conversão #169024
20/04/2010
0
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
Curtir tópico
+ 0Posts
21/04/2010
Wesley Yamazack
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
26/04/2010
Henrique Rocha
Obrigado.
Gostei + 0
26/04/2010
Wesley Yamazack
Att,
Wesley Y
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)