Eu estou dando um    CommitRetaining a cada post tanto que o programa 
aborta mais os dados anteriores estao gravados.
Que eu saiba o  CommitRetaining efetua a gravação fisica mas nao 
fecha a tabela ja o commit fecha.

Me corrija se eu  estiver errado.


Agradeço pela dica 



--- Em delphi-br@yahoogrupos.com.br, "Adriano Montagna" 
<[EMAIL PROTECTED]> escreveu
> Ponha um contador no teu progrrama, e quando chegar a 1500 por 
exemplo, dê 
> um commit.
> 
> Da forma que vc está fazendo, fica tudo em memoria e depois vai 
comitar. 
> mas, haja memoria.
> 
> 
> ----- Original Message ----- 
> From: "Leonardo" <[EMAIL PROTECTED]>
> To: <delphi-br@yahoogrupos.com.br>
> Sent: Wednesday, March 23, 2005 11:47 AM
> Subject: [delphi-br] Erro na copia de dados Paradox x Firebird
> 
> 
> 
> 
> Desenvolvi um  programinha temporario que lê um arquivo do paradox
> e
> copia todos os dados em uma Tabela do Firebird.
> 
> O arquivo tem aproximadamente 66000 registro e la por volta do
> registro 9000 o progra da este erro "out of memory".
> 
> Aguem tem aguma ideia de como corrigir isto??
> 
> 
> 
> Agradeço desde ja por qualquer opnião.
> 
> 
> 
> Leonardo
> 
> Segue abaixo copia de parte do programa.
> 
> 
> Obs: Achei que fazendo a copia assim seria mais facil que copia os
> dados para um arquivo texto e fazer um script.
> 
> 
> 
> procedure TForm1.IBTGRCAfterPost(DataSet: TDataSet);
> begin
>    If ibtr.InTransaction then
>       ibtr.CommitRetaining;
> end;
> 
> procedure TForm1.IBTGRCAfterCancel(DataSet: TDataSet);
> begin
>    If ibtr.InTransaction then
>       ibtr.RollbackRetaining;
> 
> end;
> 
> procedure TForm1.Button1Click(Sender: TObject);
> begin
>   ProgressBar1.Max:= TGRC.RecordCount;
>   Tgrc.First;
>   While Not Tgrc.Eof do
>     begin
>     If Length(trim(TGRCG_CNPJ.Value))> 0 then
>       Begin
>         IBTGRC.Append;
>         IBTGRCG_NOME.Value     := TGRCG_NOME.Value;
>         ...
>         ...
>         ...
>         IBTGRC.Post;
>       End;
>       TGrc.Next;
>       ProgressBar1.Position:= ProgressBar1.Position+1;
>     End;
> end;
> 
> 
> 
> 
> 
> 
> 
> -- 
> <<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
> 
> Para ver as mensagens antigas, acesse:
>  http://br.groups.yahoo.com/group/delphi-br/messages
> 
> Para falar com o moderador, envie um e-mail para:
>  [EMAIL PROTECTED] ou [EMAIL PROTECTED]
> 
> Links do Yahoo! Grupos





-- 
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>

Para ver as mensagens antigas, acesse:
 http://br.groups.yahoo.com/group/delphi-br/messages

Para falar com o moderador, envie um e-mail para:
 [EMAIL PROTECTED] ou [EMAIL PROTECTED]
 
Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/delphi-br/

<*> Para sair deste grupo, envie um e-mail para:
    [EMAIL PROTECTED]

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
    http://br.yahoo.com/info/utos.html

 



Responder a