[firebase-br] Firebird X Insert com loop

Diego Maccari diegomaccari em ig.com.br
Seg Fev 21 15:07:31 -03 2011


Olha eu não sei qual e o cenário em que vc se encontra, mas eu ja tive este 
problema aqui tambem
porem eu faço importação do TXT que na verdade é um arquivo SPED FISCAL, com 
mais de 200 MIL
linhas, tava dando problema aqui Application.ProcessMessages; resolveu em 
partes.
cada vez que é inserido um novo registro execute 
Application.ProcessMessages;
isso o ajudará muito.

--------------------------------------------------
From: "Paulo Portella" <pportellaa.firebase em gmail.com>
Sent: Monday, February 21, 2011 2:27 PM
To: "FireBase" <lista em firebase.com.br>
Subject: Re: [firebase-br] Firebird X Insert com loop

> Em 21/02/2011 13:54, Magno System escreveu:
>> Então Paulo, como ele vai dar ROLLBACK em 15000 linhas se elas foram 
>> comitadas a cada 250 linhas. Se ele estiver com a transação entre a linha 
>> 14001 e 14250, o rollback vai cancelar somente este intervalo. De 1 a 
>> 14000 já teriam sido comitadas.
>>
>>
>> ----- Original Message ----- From: "Paulo Portella" 
>> <pportellaa.firebase em gmail.com>
>> To: "FireBase" <lista em firebase.com.br>
>> Sent: Monday, February 21, 2011 12:57 PM
>> Subject: Re: [firebase-br] Firebird X Insert com loop
>>
>>
>> Em 21/02/2011 12:55, Marcelo Moreira escreveu:
>>> Paulo,
>>>
>>> O problema de fazer isso é que se ocorrer algum problema ate que todas 
>>> as
>>> linhas tenham sido inseridas no banco eu tenho de executar um rollback
>>> ______________________________________________
>>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>>> Para saber como gerenciar/excluir seu cadastro na lista, use: 
>>> http://www.firebase.com.br/fb/artigo.php?id=1107
>>> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>>
>> E qual o problema nisso/disso?
>> Rollback ele existe pra isso mesmo, dar segurança nas transações.
>>
>>
> Desculpe a curiosidade então o que são essas 15.000 linhas para que TODAS 
> devam ser commitadas?
> NFe de importação?
>
> Re-li o texto original e vendo que ele disse que "alguma transação trava", 
> por isso entendi que cada uma é independente... blz.?
>
> Mas pensei novamente noutra coisa aqui, seu lance é saber SE o sistema 
> travou não é? pra cada loop tambem experimente executar:
> Application.ProcessMessages;
>
> Quanto ao uso de StoredProcedure, não vejo o porque, pois para cada linha 
> será uma "chamada independente" então volta ao X inicial que levantei e 
> que não poderia -> Commitar TUDO ou nada.
>
> Quanto aos campos serem Integer/Smallinteger eu aconselharia Char(1), caso 
> você não tenha que fazer cálculos, se tiver que fazer calculo, então não 
> mude.
>
> Volto a perguntar -> qual é o conteúdo dessas 15mil linhas que devam todas 
> serem inseridas?
> tu não pode tratá-las?
>
> Faço isso em um cliente que possui 40 lojas, imagine importar todo o 
> movimento diário/semanal/quinzenal/mensal de Cartão de Crédito/Débito 
> (várias bandeiras) e cada arquivo que meu sistema 
> lê/importa/trata/relaciona não dura mais que 5 minutos (+/- 5mil linhas em 
> dias fracos)
>
>
> -- 
> Vida de americano é assim: iPhone, iPod, iPad, iMac….
> Já a de brasileiro é assim:IPTU, IPVA, ICMS, IPI etc
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: 
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa 





Mais detalhes sobre a lista de discussão lista