Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Service mit Paradox stört Backup ? (https://www.delphipraxis.net/82374-service-mit-paradox-stoert-backup.html)

Cyberbob_at_tot 12. Dez 2006 07:26

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:
    Paradoxquery.Close;
    Paradoxquery.Active := false;
    Kundenquery.Close;
    Kundenquery.Active := false;
    artikelquery.Close;
    artikelquery.Active := false;
    posquery.Close;
    posquery.Active := false;
Ich sehe keinen Zugriff mehr auf die Datei, oder habe ich etwas vergessen ? Danke für alle Antworten und Anregungen.

THX

Cyberbob

mkinzler 12. Dez 2006 11:08

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?)?

Cyberbob_at_tot 12. Dez 2006 11:13

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 ?

Bernhard Geyer 12. Dez 2006 11:20

Re: Service mit Paradox stört Backup ?
 
Zitat:

Zitat von Cyberbob_at_tot
am Ende der Prozedure wird alles deaktiviert.
Delphi-Quellcode:
    Paradoxquery.Close;
    Paradoxquery.Active := false;
    Kundenquery.Close;
    Kundenquery.Active := false;
    artikelquery.Close;
    artikelquery.Active := false;
    posquery.Close;
    posquery.Active := false;

Hast Du kein TDatabase-Instanz?
Falls nein: Bau eine ein und schließe die Verbindung dann mit:
Delphi-Quellcode:
MyDB.Close
und vor allem: Close und Active := False macht das gleiche. Ist also unnötig!

Cyberbob_at_tot 12. Dez 2006 12:19

Re: Service mit Paradox stört Backup ?
 
Nein hatte ich nicht, werd ich mal versuchen und schauen wie es sich verhällt!

hoika 12. Dez 2006 12:53

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

Cyberbob_at_tot 13. Dez 2006 07:33

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:
 
    Paradoxquery := TQuery.Create(nil);
    Paradoxquery.DatabaseName:=DATENBANKNAME;
    Paradoxquery.SessionName := 'Default';
Danke für eure Hilfe!

THX

Cyberbob

mkinzler 13. Dez 2006 08:43

Re: Service mit Paradox stört Backup ?
 
Ich würde den Komponenten einen owner spendieren, so das sie am Programmende ordentlich freigegeben werden.

marabu 13. Dez 2006 08:43

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

Cyberbob_at_tot 13. Dez 2006 11:10

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 ?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:07 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz