Fórum Importar Texto para Banco de Dados #295827
16/09/2005
0
Galera trabalho com Delphi7/Firebird(IBExpert)
Preciso importar dados de arquivos Texto para um Banco de dados
os arquivos texto chega a ter 20.000 até 30.000 registros
qual seria a melhor solução com melhor performace pra isso ??
Se alguem puder me dar uma sugestão eu agradeço muito !!!
Preciso importar dados de arquivos Texto para um Banco de dados
os arquivos texto chega a ter 20.000 até 30.000 registros
qual seria a melhor solução com melhor performace pra isso ??
Se alguem puder me dar uma sugestão eu agradeço muito !!!
Fabiano Góes
Curtir tópico
+ 0
Responder
Posts
16/09/2005
Mahdak
[quote:f4516aaa84=´Fabiano Góes´]Galera trabalho com Delphi7/Firebird(IBExpert)
Preciso importar dados de arquivos Texto para um Banco de dados
os arquivos texto chega a ter 20.000 até 30.000 registros
qual seria a melhor solução com melhor performace pra isso ??
Se alguem puder me dar uma sugestão eu agradeço muito !!![/quote:f4516aaa84]
Fabiano... tente o seguinte:
Fonte: Dicas e truques delphi
Preciso importar dados de arquivos Texto para um Banco de dados
os arquivos texto chega a ter 20.000 até 30.000 registros
qual seria a melhor solução com melhor performace pra isso ??
Se alguem puder me dar uma sugestão eu agradeço muito !!![/quote:f4516aaa84]
Fabiano... tente o seguinte:
Como importar dados de um arquivo texto para uma Tabela var sArquivo: TextFile; Entrada, sArq2: string; iLinha: integer; begin tblCep.Open; tblCepLoc.Open; bCancelaImport := False; AssignFile(sArquivo, FileNameEdit1.FileName); sArq2 := After(´Cep_Loc.txt´,FileNameEdit1.FileName); iLinha := 0; if FileNameEdit1.FileName = ´C:\Download\Ceps\Cep_loc.txt´ then begin // Arquivo de Localidades RzProgressBar1.TotalParts := 0; RzProgressBar1.TotalParts := NumLinhasArq(FileNameEdit1.FileName); Reset(sArquivo); Readln(sArquivo,Entrada); while not Eoln(sArquivo) do begin Inc(iLinha); Readln(sArquivo,Entrada); // 0 = Base Total e 2 = Inclusao if (copy(Entrada,90,1) = ´0´) or (copy(Entrada,90,1) = ´2´) then begin tblCepLoc.Append; tblCepLoc.FieldByName(´cep_ChvLocal´).AsString := copy(Entrada,1,6); tblCepLoc.FieldByName(´cep_Cidade´).AsString := copy(Entrada,7,60); tblCepLoc.FieldByName(´cep_UF´).AsString := copy(Entrada,75,2); try tblCepLoc.Post; except tblCepLoc.Cancel; end; end else if (copy(Entrada,90,1) = ´1´) then begin // Exclusao if tblCepLoc.Locate(´cep_ChvLocal´, copy(Entrada,1,6), [loPartialKey]) then tblCepLoc.Delete; end else if (copy(Entrada,90,1) = ´3´) then begin // Alteracao if tblCepLoc.Locate(´cep_ChvLocal´, copy(Entrada,1,6), [loPartialKey]) then begin tblCepLoc.Edit; tblCepLoc.FieldByName(´cep_Cidade´).AsString := copy(Entrada,7,60); tblCepLoc.FieldByName(´cep_UF´).AsString := copy(Entrada,75,2); end; try tblCepLoc.Post; except tblCepLoc.Cancel; end; end; RzProgressBar1.PartsComplete := iLinha; Application.ProcessMessages; if bCancelaImport then Break; end; CloseFile(sArquivo); end;
Fonte: Dicas e truques delphi
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)