[firebase-br] Erro SQL ao converter do DBF para o FIREBIRD

Juliano Van Dal julianovandal em yahoo.com.br
Seg Abr 24 18:28:02 -03 2006


A função da procedure a seguir eu fiz com o intuito de transferir os registros de uma base de dados .DBF (CLIPPER) para  uma base FIREBIRD.
   
  No entanto o arquivo (destino) foi carregado com uns 15 registros apenas (o arquivo origem tem mais de 2000 registros), e dai gera um erro, como segue descrito após a descrição da procedure...
   
  ESTRUTURA:
  procedure TF_Principal.CarregarClientes1Click(Sender: TObject);
begin
   TBSt_003.First;
   ZQuery1.Close;
   WHILE NOT TBSt_003.Eof DO BEGIN
      ZQuery1.SQL.Clear;
      ZQuery1.SQL.Append('Select * From Cliente');
      ZQuery1.SQL.Append('Where Cod_Cli ='+TBSt_003CODCLI.Value);
      ZQuery1.Open;
      IF ZQuery1.IsEmpty THEN BEGIN
         ZQuery1.Close;
         ZQuery1.SQL.Clear;
         ZQuery1.SQL.Append('Insert Into Cliente');
         ZQuery1.SQL.Append('(Cod_Cli, Loja_Cli, Nome, Endereco, CEP, Bairro)');
         ZQuery1.SQL.Append('VALUES ');
         ZQuery1.SQL.Append('( '+QuotedStr(TBSt_003CODCLI.Value));
         ZQuery1.SQL.Append(', 1');
         ZQuery1.SQL.Append(', '+QuotedStr(TBSt_003NOME.Value));
         ZQuery1.SQL.Append(', '+QuotedStr(TBSt_003RUA.Value));
         ZQuery1.SQL.Append(', '+QuotedStr(TBSt_003CEP.Value));
         ZQuery1.SQL.Append(', '+QuotedStr(TBSt_003BAIRRO.Value)+' )');
         ZQuery1.ExecSQL;
      END;
      TBSt_003.Next;
      ZQuery1.Close;
   END
end;

  Onde: TBSt_003 eh a origem de dados do arquivo .DBF
   
   
  ERRO:
  Project Pedidos.exe raised exception class EZSQLException with message 'SQL Error: arithmetic exception, numeric overflow, or string truncation. Error Code: -802. Arithmetic overflow or division by zero has occurred....
   
  Uma outra duvida: tive que DIGITAR este erro da janela do delphi para o email. Eh possivel eu copiar este erro para a area de transferencia via programação, ou o sistema salva este erro em algum arquivo??
   
  Agradeço se alguem puder me ajudar com alguma solução.
  Abraço, Juliano

		
---------------------------------
 Abra sua conta no Yahoo! Mail - 1GB de espaço, alertas de e-mail no celular e anti-spam realmente eficaz. 


Mais detalhes sobre a lista de discussão lista