Einzelnen Beitrag anzeigen

hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#54

Re: Firebird Import aus Textdatei extrem langsam

  Alt 17. Sep 2009, 04:10
Hallo,

Also

Delphi-Quellcode:
SQLDataSet.ExecSQL;
Application.ProcessMessages;
du rufst nach jedem Insert Application.ProcessMessages; auf.

Ich würde das ändern in

Delphi-Quellcode:
if (FZeile mod 100) then
begin
  Application.ProcessMessages;
end;
Da du ja hier eh einen Zähler (Fzeile) hast,
könnte man auch den Tip mit Commit/StartTransaction einbauen


Delphi-Quellcode:
if (FZeile mod 100) then
begin
  SQLConnection.Commit(TD);
  SQLConnection.StartTransaction(TD);
end;
Zusammen also wie folgt:

Delphi-Quellcode:
if (FZeile mod 100) then
begin
  Application.ProcessMessages;
end;

if (FZeile mod 100) then
begin
  SQLConnection.Commit(TD);
  SQLConnection.StartTransaction(TD);
end;
Ich würde es so wie hier getrennt lassen,
dann kann man am mod X noch rumspielen.


Zitat:
Firebird (Emmbedded)
Dazu muss einfach die FBClient.DLL ausgetauscht werden,
das Programm sollte im Idealfall davon gar nix mitbekommen.

Exe -> FBClient(SQL-Server) -> SQL-Server
Exe -> FBClient(Embedded)

Die embedded-Variante der FBClient-Dll implementiert den SQL-Server
selber und reicht die Befehle nicht weiter wie die normale DLL.

Zusätzlich müssen noch ein paar Dateien in ein Unterverzeichnis,
Infos dazu hier (Suche) oder einfach mal Frau Google fragen.


Heiko
Heiko
  Mit Zitat antworten Zitat