Reinaldo,

Acho que vc poderia COMMITAR a cada 100 arquivos importados.
Acho q eh esse o problema... estouro de transacao!

Obrigado
MuriloCunha



On 30/04/2010 10:26, Reinaldo Aparecido Pereira wrote:
> Amigos,
>
> Não entendo de gerenciamento de memória e o que tenho lido não resolveu meu
> problema. Estou com a  rotina abaixo que importa o conteúdo de 1000 arquivos
> para um banco Firebird. Lá pelo arquivo 600 a aplicação trava e dá OUT OFF
> MEMORY. O executável é muito pequeno e acompanhando o processo não parece
> ocupar quase nada de memória.
>
> O que acontece afinal?
>
> Como posso resolver isso?
>
> Grato..
>
>
>
>
>
>       for i := 0 to Arquivos.Count - 1 do
>
>       begin
>
>            ProgressBar1.Position := i;
>
>            Arquivos.ItemIndex  := i;
>
>            stlArquivo.Clear;
>
>            stlArquivo.LoadFromFile(Arquivos.Items[Arquivos.ItemIndex]);
>
>            for x := 0 to stlArquivo.Count - 1 do
>
>            begin
>
>                 //tblArtigos.Active := true;
>
>                 tblArtigos.Append;
>
>                 tblArtigos.FieldByName('ANO').Text := cbAno.Text;
>
>                 tblArtigos.FieldByName('NUM_LINHA').Value := x;
>
>                 tblArtigos.FieldByName('PK_ARQUIVO').Text :=
> Trim(Arquivos.Items[Arquivos.ItemIndex]);
>
>                 tblArtigos.FieldByName('LINHA').Text :=
> Copy(Trim(stlArquivo[x]), 0, 999);
>
>                 tblArtigos.Post;
>
>            end;
>
>       end;
>
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
>    

Responder a