[firebase-br] Importação de TXT para FB, lenta...

Mr. Marshall kelsie.z.marshall em gmail.com
Ter Set 29 09:43:16 -03 2009


Qual a maneira mais rápida de fazer uma importação de um arquivo textto
contendo registros ?

Tenho um arquivo com dois milhões de registros que sempre vou precisar
importar para dento do FB, tenho varrido este arquivo do inicio ao fim e
tenho colocado os campos direto na tabela e a cada 100 mil faço um COMMIT

  if((arqRead = fopen("clientes.txt"),"rt")) == NULL)
  {
    ShowMessage("Problema ao abrir o arquivo de importação plano.");
  }
  fseek(arqRead, 0, SEEK_SET);
  while (!feof(arqRead))
  {
     fgets(str, 2048, arqRead);
     StrAnsi = AnsiString(str);
      DM->IBTable1->Append();
      DM->IBTable1->FieldValues["NOMECLIENTE"] = StrAnsi ;
      DM->IBTable1->Post();

      a cada 1000 da uma commit e reabre banco
      DM->IBTransaction1->Commit();
      DM->IBTransaction1->Active = true;
 }
fclose(arqRead);

Está técnica funciona mas tem se demonstrado meio lenta, alguma sujestão
para melhorar a performance da importação ?


Mr. Marshall
PS:
Já li o artigo do Cantú sobre importação de TXT utilizando a técnica de 
EXTERNAL FILE mas preciso fazer verificações antes de incluir os dados 
poderia utilizar UDF mas... 






Mais detalhes sobre a lista de discussão lista