Hm, eine weitere Recherche ergab, dass nach Umstellung auf 3.0
das Backup wohl nur funktioniert hatte, weil ich in der Entwicklungs VM
auch einen 3.0 Server installiert habe, da ein anderes Tool mit der
Embedded Variante nicht klar kam.
Jetzt versuche ich das Backup Erstellen zu reparieren, scheitere aber
am Protocol. Wenn ich TFDIBBackup.Protocol nichts zuweise, bekomme ich
eine Fehlermeldung, die darauf hinweißt, dass XNET benutzt werden soll,
was m.W. unter 3.0 aber nicht mehr geht. Ich habe mal versucht .Protocol
auf ipLocal oder ipTCPIP zu setzen, damit gibt's dann aber eine Fehlermelung
Code:
Cannot attach to services manager
service :service_mgr is not defined
[FireDAC][Phys][
FB]invalid service
handle
Hier mein Code zum erzeugen der Backup Instanz:
Delphi-Quellcode:
constructor TDBBackup.Create(const DatabaseFileName : string;
const VendorLib : string);
begin
FFBDriverLink := TFDPhysFBDriverLink.Create(nil);
FFBDriverLink.VendorLib := VendorLib;
FFBDriverLink.Embedded := true;
FFBBackup := TFDIBBackup.Create(nil);
FFBBackup.ConnectTimeout := c_DBBackupConnectTimeout;
FFBBackup.Database := DatabaseFileName;
FFBBackup.DriverLink := FFBDriverLink;
FFBBackup.Password := c_DBPassword;
FFBBackup.QueryTimeout := c_DBBackupServiceTimeout;
FFBBackup.UserName := c_DBUserName;
FFBBackup.Verbose := true;
FFBBackup.Protocol := TIBProtocol.ipTCPIP;
FFBBackup.AfterExecute := OnBackupFinishedInternal;
FFBBackup.OnProgress := OnBackupProgressInternal;
FFBBackup.OnError := OnBackupErrorInternal;
end;
[..] // später Erstellen des Backups:
procedure TDBBackup.CreateBackup(const FileName: string);
begin
FFBBackup.BackupFiles.Clear;
FFBBackup.BackupFiles.Add(FileName);
FFBBackup.Backup;
end;
Gibt es ein generelles Kompatibilitätsproblem mit FireDAC's
TFDIBBackup mit Firebird Embedded >= 3.0?
Grüße
TurboMagic