![]() |
Datenbank: Paradox • Zugriff über: BDE
Service mit Paradox stört Backup ?
Guten Morgen zusammen,
ich habe hier ein komisches Phänomen, ich habe einen Windows Service als Schnittstelle zweiter Programme geschrieben. Am Anfang kam es vor, das die Selektion in den Zeitraum des Serverbackups kam. Das Backup schlug fehl. Nun habe ich es so umgeschrieben, das es nur nach 7 Uhr durchgeführt wird, da wo das Backup schon durchgeführt worden ist. Leider ist es immer noch so, das kein Backup kein Zugriff auf die Datei "PDOXUSRS.NET" hat, und dadurch das Backup fehlschlägt. Im Programm habe ich aber alles beendet, nur bei der Selektion wird ein DB Verbindung aufgebraut. Am Anfang der Selektion baue ich die Verbindung auf.
Delphi-Quellcode:
Paradoxquery.active := true;
Paradoxquery.open; ... am Ende der Prozedure wird alles deaktiviert.
Delphi-Quellcode:
Ich sehe keinen Zugriff mehr auf die Datei, oder habe ich etwas vergessen ? Danke für alle Antworten und Anregungen.
Paradoxquery.Close;
Paradoxquery.Active := false; Kundenquery.Close; Kundenquery.Active := false; artikelquery.Close; artikelquery.Active := false; posquery.Close; posquery.Active := false; THX Cyberbob |
Re: Service mit Paradox stört Backup ?
Es reicht nicht die Abfage zu beenden. die Verbindung muß ausch getrennt werden. Wie ist der Query verbunden (TDatabase?)?
|
Re: Service mit Paradox stört Backup ?
Nein, es ist nur eine Instanz von TQuery wo ich die DB wähle.
Würde Tquery.CloseDatabase helfen ? |
Re: Service mit Paradox stört Backup ?
Zitat:
Falls nein: Bau eine ein und schließe die Verbindung dann mit:
Delphi-Quellcode:
und vor allem: Close und Active := False macht das gleiche. Ist also unnötig!
MyDB.Close
|
Re: Service mit Paradox stört Backup ?
Nein hatte ich nicht, werd ich mal versuchen und schauen wie es sich verhällt!
|
Re: Service mit Paradox stört Backup ?
Hallo,
zum Testen lege deine DB und natürlich das NET DIR auf einen Server (und wenn es nur die Freigabe eines W2K Proff ist). In der Systemsteuerung (Computerverwaltung) kannst du die offenen Dateien sehen. "An Ende" heiist du hoffentlich im finally ?? Heiko |
Re: Service mit Paradox stört Backup ?
Zurück nochmal zum Thema, so ganz verstehe ich das noch nicht.
Ich habe 4 Querys die ich benötige, von denen ich aus direkt auf die Datenbank zugreife. Wieso muss ich da noch ein TDatabase erstellen? wo ich auch nur am ende die Verbindung trennen würden. Ist die Treffen mit Query.close nicht und Query.active:=false vollzogen? Habe nun eine Instanz erzeugt...
Delphi-Quellcode:
Datenbank:=TDatabase.Create(nil);
Datenbank.DatabaseName:=DATENBANKNAME; Datenbank.SessionName:='Default'; //Zuweisung zu den Querys ? //kann man alles zusmamen schließen ? Datenbank.Free; Das QUery sieht so aus...
Delphi-Quellcode:
Danke für eure Hilfe!Paradoxquery := TQuery.Create(nil); Paradoxquery.DatabaseName:=DATENBANKNAME; Paradoxquery.SessionName := 'Default'; THX Cyberbob |
Re: Service mit Paradox stört Backup ?
Ich würde den Komponenten einen owner spendieren, so das sie am Programmende ordentlich freigegeben werden.
|
Re: Service mit Paradox stört Backup ?
Guten Morgen,
die Datenbank-Komponente für sich genommen bringt nicht die gewünschte Änderung. Die property KeepConnection muss von der Standardeinstellung TRUE auf FALSE geändert werden, sonst bleibt beim Close() die Wirkung aus. Noch schlimmer ist es ohne TDatabase, weil dann intern mit den Voreinstellungen gearbeitet wird - ohne dass man es sieht. Freundliche Grüße |
Re: Service mit Paradox stört Backup ?
Das hört sich logisch an mit der Keepconnection. Habe ich nun auch eingestellt.
Wie verbinde ich den die Querys mit der Datenbankinstanz ? Arbeite ausschliesliche mit Datenbanknamen nicht mit Alias. Und wenn ich dann Datenbank.close sage, reicht das für die Querys auch oder ist das nun zusätzlich ? |
Re: Service mit Paradox stört Backup ?
Hallo,
DataBase.Directory:= 'c:\data'; ODER DataBase.AliasName:= 'alias_bla'; DataBase.DataBaseName:= 'bla'; Query.DataBaseName:= DataBase.DataBaseName; Zum Test würde ich mal den Pfad (Directory) ändern und kucken, ob jede Query ihre Tabellen findet. Aber das hast du per Unit-Test ja eh schon gemacht ;) Bei den anderen Sachen einfach probieren. siehe mein Posting mit der Freigabe. Heiko |
Re: Service mit Paradox stört Backup ?
thx!
|
Re: Service mit Paradox stört Backup ?
Morgen zusammen,
muss leider das Thema nochmal aufgreifen, da ich die DB einfach nicht getrennt bekomme. Habe nun am anfang alle Instanzen erstellt...
Delphi-Quellcode:
dann meine Abfrage gestartet....
Datenbank := TDatabase.Create(nil);
Datenbank.AliasName := DATENBANKNAME; Datenbank.DatabaseName := DATENBANKNAME; Datenbank.KeepConnection := false; Datenbank.SessionName := 'Default'; Paradoxquery := TQuery.Create(nil); Paradoxquery.DatabaseName := Datenbank.DatabaseName; Paradoxquery.SessionName := 'Default'; Kundenquery := TQuery.Create(nil); Kundenquery.DatabaseName := Datenbank.DatabaseName; Kundenquery.SessionName := 'Default'; artikelquery := TQuery.Create(nil); artikelquery.DatabaseName := Datenbank.DatabaseName; artikelquery.SessionName := 'Default'; posquery := TQuery.Create(nil); posquery.DatabaseName := Datenbank.DatabaseName; posquery.SessionName := 'Default';
Delphi-Quellcode:
und wenn alles fertig ist die Verbindung getrennt.
Datenbank.Open;
if Datenbank.Connected then Writelog('Verbindung zur DB hergestellt') else Writelog('Verbindung zur DB fehlgeschlagen'); Paradoxquery.active := false; paradoxquery.SQL.Text := 'select ...'; Paradoxquery.active := true; paradoxquery.First; ...
Delphi-Quellcode:
Leider wird mir hier immer noch Connected=true ausgegeben. Was habe ich vergessen. Habe die Query beendet und dann die Datenbank.
try
Paradoxquery.Close; Paradoxquery.Active := false; Kundenquery.Close; Kundenquery.Active := false; artikelquery.Close; artikelquery.Active := false; posquery.Close; posquery.Active := false; Datenbank.Close; finally if Datenbank.Connected then writelog('DB getrennt') else writelog('DB konnte nicht getrennt werden'); end; Weis leider nicht weiter, könne ihr mir da helfen ? BIG THX Cyberbob |
Re: Service mit Paradox stört Backup ?
Hallo,
Connected=False ? Benutzt du vielleicht cached updates ? Heiko |
Re: Service mit Paradox stört Backup ?
@hoika
cached updates ? Connected:=false brauchte leider auch nichts! Hatte ich schon versucht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:20 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