![]() |
Datenbank: Firebird • Version: 2.5 • Zugriff über: FireDAC
Von TFDIBBackup erzeugte Datei blockiert in AfterExecute
Hallo,
ich versuche gerade mittels Delphi 10.3.2 und TFDIBBackup Komponente ein Backup einer Firebird 2.5 Datenbank anzufertigen. Das klappt auch soweit, nur ist im OnAfterExecute Event die erzeugte Backup Datei noch blockiert. Ich würde sie nämlich gerne mittels
Delphi-Quellcode:
Öffnen um deren Inhalt auszulesen und zu verarbeiten.
var
Stream: TFileStream; begin Stream := TFileStream.Create('d:\Test.fbk', fmOpenRead); Die Datei ist auch denn noch blockiert, wenn ich im Event testhalber das TFDIBBackup freigebe (ja schlechter Stil, ich weiß). Woran liegt das und was tun? Einfach das Ganze mittels Timer verzögern ist ja keine wirklich tolle Lösung... Grüße TurboMagic |
AW: Von TFDIBBackup erzeugte Datei blockiert in AfterExecute
TFDIBBackup kapselt ja nur das IBBackup. Deshalb sollte im OnAfterExecute auch bereits alles beendet sein. Hast Du die Möglichkeit, mit Procmon festzustellen, welcher Process die Datei blockiert (welche Fehlermeldung lässt dich das vermuten)?
Und mir stellt sich die Frage, was du aus einer FBK / GBK Datei auslesen willst? |
AW: Von TFDIBBackup erzeugte Datei blockiert in AfterExecute
Müsste mir in der VM ProcMon erst installieren. Könnte ich versuchen.
Fehlermeldung: die oben geschriebene Codezeile stürzt mit einer Exception ab die besagt, dass die Datei noch anderweitig geöffnet ist. |
AW: Von TFDIBBackup erzeugte Datei blockiert in AfterExecute
Ok, habe nun den procMon bemüht und bin drauf gekommen was ich falsch mache.
Im Verlauf der Verarbeitung des Streams rufe ich auch eine Routine auf, welche die Dateigröße der Datei ermitteln soll, was über eine Stream basierte Variante geschieht, weshalb derselbe Stream erneut geöffnet werden soll. Leider wurde er aber wohl exklusiv geöffnet. Jetzt habe ich den Stream mittels fmOpenRead or fmShareDenyWrite geöffnet und dadurch funktioniert auch die Dateigrößen Routine ohne Absturz! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz