[firebase-br] Firebird X Insert com loop

Paulo Portella pportellaa.firebase em gmail.com
Seg Fev 21 14:27:00 -03 2011


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





Mais detalhes sobre a lista de discussão lista