Hallo sandrawelker,
DANKE das war der richtige Hinweis.
Jetzt funktioniert es.
Variante-1: Die Komponenten TFDIBBackup und TFDIBRestore zur Laufzeit erzeugen, initialisieren und ausführen.
Variante-2: Vor jedem Backup neu initialisieren, etwa so:
Delphi-Quellcode:
aBackup.DriverLink := FDDriver;
aBackup.UserName := DBCon.Params.UserName;
aBackup.Password := DBCon.Params.Password;
aBackup.Host := TFDPhysFBConnectionDefParams(DBCon.Params).Server;
aBackup.Protocol := TFDPhysFBConnectionDefParams(DBCon.Params).Protocol;
aBackup.Port := TFDPhysFBConnectionDefParams(DBCon.Params).Port;
aBackup.Database := DBCon.Params.Database;
aBackup.BackupFiles.Clear;
aBackup.BackupFiles.Add(BackupFile);
aRestore.DriverLink := FDDriver;
aRestore.UserName := TFDPhysFBConnectionDefParams(DBCon.Params).UserName;
aRestore.Password := TFDPhysFBConnectionDefParams(DBCon.Params).Password;
aRestore.Host := TFDPhysFBConnectionDefParams(DBCon.Params).Server;
aRestore.Protocol := TFDPhysFBConnectionDefParams(DBCon.Params).Protocol;
aRestore.Port := TFDPhysFBConnectionDefParams(DBCon.Params).Port;
aRestore.Database := RestoreFile;
aRestore.BackupFiles.Clear;
aRestore.BackupFiles.Add(BackupFile);
aRestore.Options := [roReplace];
Bei einer Initialisierung wird intern irgend etwas verworfen. Ich habe jetzt Variante-1 umgesetzt. Das funktioniert perfekt.
Vielen lieben Dank.