![]() |
Re: Fragen: FB SQL-Befehle, TZConnection, Datenbankdateizugr
Nein, leider scheint ein Disconnect nicht auszureichen.
Beispiel (Datenbankdatei: 'MyDB.fdb')
Delphi-Quellcode:
Exception:
...
var Stream :TStream; ... ZConnection1.Connect; ZConnection1.Disconnect; // Hier folgt die Exception: Stream:=TFileStream.Create('MyDB.fdb',fmOpenRead,fmShareExclusive); ... Datei '...\MyDB.fdb' kann nicht geöffnet werden. Der Prozess kann nicht auf die Datei zugreifen, da sie von einem anderen Prozess verwendet wird. Wie also kann ich die Verbindung zwischen Datei und Firebird lösen? Panthrax |
Re: Fragen: FB SQL-Befehle, TZConnection, Datenbankdateizugr
Unter Umständen könnte es schon reichen nach dem Schließen eine kurze Zeit zu warten. Ich kann mir vorstellen, dass die DB mit dem Schließen noch nicht fertig ist, wenn dein Programm aber schon Zugriff auf das File will. Klatsch da einfach mal ein Sleep(sec); zwischen. Evtl. tut's das schon.
Gruss, Fabian |
Re: Fragen: FB SQL-Befehle, TZConnection, Datenbankdateizugr
Hab's mit einem Sleep probiert - funktioniert nicht. Auch nicht wenn ich das Programm anderweitig beschäftige. Letzteres hatte ich vorher schon probiert.
Panthrax. |
Re: Fragen: FB SQL-Befehle, TZConnection, Datenbankdateizugr
Zitat:
ich behaupte mal weiterhin, dass ein einfaches Disconnect ausreicht. Man kann sogar mehrere Zconnections innerhalb des gleichen Programms auf die gleiche DB zugreifen lassen. Der von Dir beschriebene Fehler tritt auf, wenn ein anderer Prozess, sprich ein anderes Programm auf die DB Zugriff hat (Z.B. ein DB-Admin-Tool, die Delphi-IDE mittels einer Kompo die zur Design-time aktiv ist, etc...). (Wenn ich jetzt irgendwelchen Unsinn rede, dann bitte ich um Korrektur) Ausserdem, bist Du Dir sicher, dass der Fehler nach dem Disconnect auftritt, oder eher bei dem TFileStream.Create ??? Wie auch immer, ich hab Dein Beispiel kurz nachgebaut und habe keine Probleme / Fehler. (Abgesehen davon, dass ich keinen Sinn darin sehen kann, die DB mittels FileStream.Create öffnen zu wollen). Dein Problem muss eher an aderer Stelle liegen. Tschüss, Lutz |
Re: Fragen: FB SQL-Befehle, TZConnection, Datenbankdateizugr
Hi,
@Panthrax: Hab Deine PN bekommen, hatte das Projekt leider nicht mehr. Also schnell noch mal gebaut, und hop, gleiches PB wie Du. Im Endeffekt scheint es wie folgt auszusehen : Mit dem FileStream.Create läuft es nur, wenn die aktuelle Instanz des Programmes die DB nicht erstellt hat. Hat die aktuelle Instanz des Progs die DB erstellt, hilft auch ein Disconnect nichts. Ich hab noch schnell versucht, die ZConnection, die für das DB Create benutzt wird, dynamisch zu erstellen und hinterher wieder zu löschen. Ändert nichts. Noch'n Bug der Zeos !!! ??? Tschüss, Lutz NB.: Ich frag mich langsam, ob man die Zeos benutzen sollte ? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:32 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-2025 by Thomas Breitkreuz