Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   FB: automatisches Sperren des Rechners kappt Firebird-Verbindung (https://www.delphipraxis.net/201137-fb-automatisches-sperren-des-rechners-kappt-firebird-verbindung.html)

hoika 26. Jun 2019 11:01

Datenbank: FB • Version: 3 • Zugriff über: IBDAC

FB: automatisches Sperren des Rechners kappt Firebird-Verbindung
 
Hallo,
der Titel sagt ja bereits alles aus.
Das ist die Aussage des Kunden.

"Bei mir geht's".

Kommt das jemand bekannt vor ?

Frickler 26. Jun 2019 11:11

AW: FB: automatisches Sperren des Rechners kappt Firebird-Verbindung
 
Siehe mein Artikel vom 22.6.

Nochmal:

Bei Kunden ist ein wahrlich aggressives Powermanagement etabliert, welches bereits nach wenigen Minuten Untätigkeit den PC in den Standby schickt. Browsern und Office-Programmen macht das nichts aus, aber Datenbankverbindungen werden gekappt. Meine Lösung wäre, auf die Systemnachrichten zum Einschlafen und Aufwachen zu reagieren, und beim Einschlafen Verbindungen selbst zu kappen, wobei zuvor der Status aller offenen DataSets gesichert wird; beim Aufwachen werden die Verbindungen und DataSets wieder geöffnet.

Oder geht das noch anders bzw besser?


P.S.: Ich nehme Datenänderungen mit Usereingaben grundsätzlich über ClientDataSets vor, um Schreibtransaktionen so kurz wie möglich zu halten. Man klebt so nicht direkt an der Datenbank, kann aber alle Vorteile datengebundener Steuerelemente mitnehmen. Länger offene Lesetransaktionen sind alle "read only".

hoika 26. Jun 2019 11:39

AW: FB: automatisches Sperren des Rechners kappt Firebird-Verbindung
 
Hallo,
beim automatischen Sperren wird die Verbindung gekappt, beim manuellen nicht.

Jumpy 26. Jun 2019 12:40

AW: FB: automatisches Sperren des Rechners kappt Firebird-Verbindung
 
Zitat:

Zitat von Frickler (Beitrag 1435382)

P.S.: Ich nehme Datenänderungen mit Usereingaben grundsätzlich über ClientDataSets vor, um Schreibtransaktionen so kurz wie möglich zu halten. Man klebt so nicht direkt an der Datenbank, kann aber alle Vorteile datengebundener Steuerelemente mitnehmen. Länger offene Lesetransaktionen sind alle "read only".

Kannst du dann nicht einfach, bevor das ClientDataset ein Update an die Datenbank gibt, oder vor einem Refresh prüfen, ob die Connestion noch steht und die dann ggf. aufmachen? Oder sogar selber die Connection nach jedem gebrauch schließen und wieder öffnen, dann hast du selber die Kontrolle.

mkinzler 26. Jun 2019 12:50

AW: FB: automatisches Sperren des Rechners kappt Firebird-Verbindung
 
IBDAC unterstützt das Offine-Verhalten direkt.

Frickler 26. Jun 2019 13:46

AW: FB: automatisches Sperren des Rechners kappt Firebird-Verbindung
 
Zitat:

Zitat von hoika (Beitrag 1435384)
Hallo,
beim automatischen Sperren wird die Verbindung gekappt, beim manuellen nicht.

"Sperren" heißt doch nur, dass der Bildschirmschoner (mit Kennwort) anspringt. Davor wird eine Windows-Message gesendet, die man empfangen kann und daraufhin die o.a. Schritte ausführen: offene DataSets merken, selbst die Verbindung schließen, und halt wenn die Message kommt, dass wieder alles da ist, alles retour.

hoika 26. Jun 2019 14:26

AW: FB: automatisches Sperren des Rechners kappt Firebird-Verbindung
 
Hallo,
oha, alles selber machen.

Wie stellst Du dir das vor?
Ich bin in einem Formular, Connection ist Aktiv (keine offenen Queries).
Jetzt wird gesperrt, also müsste ich "anwendungsglobal" die Connection schließen und
danach bei der nächsten Message wieder öffnen ?

Es handelt sich hier übrigens nur um einen Kunden.
Bei allen anderen geht es.

Der Datenbankserver steht "irgendwo" und der Zugriff erfolgt über VPN (RDP wollten sie nicht).


mkinzler
Zitat:

IBDAC unterstützt das Offine-Verhalten direkt.
Hast du das was genaues, z.B. einen Link ?

Frickler 1. Jul 2019 14:31

AW: FB: automatisches Sperren des Rechners kappt Firebird-Verbindung
 
Zitat:

Zitat von hoika (Beitrag 1435406)
Hallo,
Zitat:

IBDAC unterstützt das Offine-Verhalten direkt.
Hast du das was genaues, z.B. einen Link ?

https://www.devart.com/ibdac/docs/unstable_network.htm

hoika 1. Jul 2019 14:58

AW: FB: automatisches Sperren des Rechners kappt Firebird-Verbindung
 
Hallo,
danke, das sieht aber etwas gefährlich aus ;)

If explicit transaction was started, connection does not close until the transaction is committed or rolled back.

If the query was prepared explicitly, connection does not close until the query is unprepared or its SQL text is changed.


Das muss man wohl oft mit den monitoring tables, falls doch nicht was offen ist.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 Uhr.

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