Hallo.
Ich habe zwei Datenbanken zwischen denen ganze Tabellen kopiert werden müssen. Die DBs können unterschiedliche Formate (
Access, SQLite, Firebird, MS
SQL) haben, werden aber immer über FireDAC geöffnet.
Bisher wurde die Quelltabelle durchlaufen und Record für Record kopiert. Zu langsam bei sehr großen Datasets.
Es bieten sich mehrere Möglichkeiten: TFDQuery.CopyDataSet, TFDBatchMove und die wohl schnellste Methode mit TFDDataset.Data. Nutzt das jemand?
Code:
FDQuerySrc.Open('SELECT * FROM document');
FDQuerySrc.FetchAll;
FDQueryDst.SQL.Assign(FDQuerySrc.SQL);
FDQueryDst.Data := FDQuerySrc.Data;
Da passiert rein garnichts. Habe zum Test auch für beide
Query eine
Access-
DB genommen. In der Ziel-
DB ist eine Tabelle mit gleichen Datenfeldern vorhanden.
Würde mich über Tipps und Hinweise freuen.
Gruß, Harald