Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Remotehost trennt verbindung (https://www.delphipraxis.net/169643-remotehost-trennt-verbindung.html)

khh 2. Aug 2012 10:48

Datenbank: Firebird • Version: 2.1 • Zugriff über: Zeos

Remotehost trennt verbindung
 
Hallo zusammen,
ich hab auf einem Linux-Server Firebird 2.1 laufen.
Darauf wird von verschiedenen Arbeitsplätzen im Intranet oder übers Internet darauf zugegriffen.

Funktioniert problemlos, bis auf Folgendes:
Beim Speichern eines Satzen kommt ab und zu die Meldung:
Sql-Error Unable to complete network request.
Verbindung wurde von Remotehost geschlossen.

Wer trennt nun die Verbindung, Firbird oder der Server?
Und wie kann ich das verhindern?
Danke für eure Hilfe

Gruss KHH

mkinzler 2. Aug 2012 10:52

AW: Remotehost trennt verbindung
 
Beim Zugriff aus dem Internet sollte man sich nicht auf eine persistente Verbindung verlassen. Zudem könnte man über ein Schichtenmodell nachdenken.

khh 2. Aug 2012 11:21

AW: Remotehost trennt verbindung
 
danke dir,
gibts dazu irgend ne info wo und wie eine persistente Verbindung zu konfigurieren ist?
Ich denke das sollte ZEOS handeln, oder ?
Dort finde ich aber auf die Schnelle nix :-(

mkinzler 2. Aug 2012 11:27

AW: Remotehost trennt verbindung
 
Ich hatte das wichtigste Wort vergessen :oops:

tsteinmaurer 2. Aug 2012 11:46

AW: Remotehost trennt verbindung
 
* Steht etwas im firebird.log drinnen?
* Läuft Classic oder SuperServer?
* Welche Linux-Distribution?
* Tritt das sporadisch z.B. bei steigender Connection-Anzahl auf?

wilbo 2. Aug 2012 15:52

AW: Remotehost trennt verbindung
 
evtl. hilft dies

Betrachte: http://www.firebirdfaq.org/faq161/


Problem gelöst über erhöhen instances (viel)> 30

#
# xinetd.conf
#
# Copyright (c) 1998-2001 SuSE GmbH Nuernberg, Germany.
# Copyright (c) 2002 SuSE Linux AG, Nuernberg, Germany.
#

defaults
{
log_type = FILE /var/log/xinetd.log
log_on_success = HOST EXIT DURATION
log_on_failure = HOST ATTEMPT
# only_from = localhost
instances = 30

hoika 2. Aug 2012 16:03

AW: Remotehost trennt verbindung
 
Hallo,

aus der Meldung bekommst du nicht raus,
wer getrennt hat.
Sie besagt lediglich, dass das aktuelle Handle der Connection nicht mehr funktioniert.

Der Server checkt (in einer einstellbaren Zeit), ob alle Clients noch am Leben sind,
deshalb heisst das auch treffend staying alive Ping.
(Mit Ping ist nicht wörtlich der Internet-Ping gemeint.)
Antwortet der Client nicht, probiert das FB noch 2mal,
sonst wird die Verbindung getrennt.

Zeos macht da gar nichts (IBDac hatte wohl was dazu drin).
Du musst einfach damit rechnen, dass die Verbindung wegsein kann.

Lösung1:
DummyPacketInterval in der Firebird.conf bearbeiten
Aber les dir dazu die Infos genau durch.


Lösung 2:
Jeder Befehl baut eine neue Verbindung zum Server auf und führt dann den Befehl aus,
und löst die Verbindung wieder (sowas ähnliches wie ConnectionPooling in .Net).
Das verlangsamt natürlich das Programm, sollte also nur als Not-Option bei Problemrechnern angeknipst werden.

Lösung 3:
MiddleWare bauen, dort kann aber auch Lösung 2 mit eingebaut werden.
Heiko

khh 3. Aug 2012 06:27

AW: Remotehost trennt verbindung
 
Zitat:

Zitat von tsteinmaurer (Beitrag 1176670)
* Steht etwas im firebird.log drinnen?
* Läuft Classic oder SuperServer?
* Welche Linux-Distribution?
* Tritt das sporadisch z.B. bei steigender Connection-Anzahl auf?

zu 1 : INET/inet_error: read errno = 110
zu 2: FirebirdSS TCP/IP server version LI-V2.1.218118 Firebird 2.1
zu 3 : DSL Linux Kernel 2.4.26
zu 4 : es tritt unregelmässig auf.

Gruss KHH


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:41 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