AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

User aus DB kicken

Ein Thema von Der Jan · begonnen am 3. Mai 2007 · letzter Beitrag vom 31. Mai 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#1

User aus DB kicken

  Alt 3. Mai 2007, 12:16
Datenbank: Firebird • Version: 1.5 • Zugriff über: FIBPlus
Hallo,

wie kann ich einen Datenbank-User, der in der DB angemeldet ist, von der DB abmelden? Wir setzen eine Firebird-basierte Software ein und es passiert (Verbindungsabbrüche, Remote-Sitzung schmiert ab etc.), das die Software nicht ganz regulär beendet wird und der DB-User nicht abgemeldet wird. Sollte nicht, ist aber leider so. Deshalb ist es nötig, ihn "hart" von der DB abzumelden. Wie kann man so was anstellen? Also ohne den Server neu zu starten
Gruß, Jan
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: User aus DB kicken

  Alt 3. Mai 2007, 13:30
Hallo,

das macht Firebird selber, allerdings erst nach einer
gewissen Zeit. Der Server sendet dazu "stay alive" Pakete zu den Clients.
Antworten die nicht (nach x mal, mit y Sek warten), wird die Verbindung gekappt.

Such mal in der Firebird.conf nach ConnectionTimeout


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#3

Re: User aus DB kicken

  Alt 3. Mai 2007, 14:16
Hallo,

danke für die Info. In der Config ist diese Zeile auskommentiert, also nehm ich an, er nimmt den Standardwert von 180s. Aber denke, das heißt, daß nach 180s das erste mal stay alive gesendet wird? Denn im Havariefall bleibt der User wesentlich länger als 3min angemeldet.
So bleibt es für mich interessant, ob man einen User kicken kann und wenn ja, wie...
Gruß, Jan
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#4

Re: User aus DB kicken

  Alt 30. Mai 2007, 07:37
Ich muß diesen Beitrag noch mal aus der Versenkung holen. Weiß jemand eine Lösung? Den Wert aus der Config scheint FB irgendwie zu ignorieren...
Gruß, Jan
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#5

Re: User aus DB kicken

  Alt 30. Mai 2007, 08:59
Du kannst so einen Firebird server komplett und sofort abwürgen:
Code:
gfix -user [DeinDba] -password [DeinPassword] [DeinServer]:[PfadZurDB] -shut full -force 0
Das ist aber bestenfalls eine widerliche Lösung.
Schaue dir mal Multi-Tier Frameworks wie DataSnap, Data Abstract oder kbmMW an.
Heutzutage mögen direkte Verbindungen zur DB für kleine Tools im Intranet noch ok sein, aber alles andere sollte zumindest einen App server haben, der die DB vor den Clients schützt (und die Clients vor DB-spezifischen Macken).
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#6

Re: User aus DB kicken

  Alt 30. Mai 2007, 09:08
Aktuelle Lösung: Datenbank stoppen und neu starten.

Siehe auch hier.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von Der Jan
Der Jan

Registriert seit: 22. Dez 2005
289 Beiträge
 
Delphi XE7 Ultimate
 
#7

Re: User aus DB kicken

  Alt 30. Mai 2007, 09:17
Hm. Das hab ich befürchtet. Die Lösung, die DB zu stoppen und starten ist mir bekannt, so mach ich es ja momentan. Nur ist das halt ziemlich besch*****, die hier ja alle User gekickt werden bzw. sich vorher abmelden müssen. Schön wäre, die Verbindung eines bestimmten Users trennen zu können.
Aber wenn ich das richtig verstanden habe, ist das wohl momentan (noch) nicht möglich ..?

@Elvis: Das ist richtig, normal läßt man den User nicht direkt auf die DB. In meiner Software mach ich das auch nicht so. Aber diese hier ist nicht von mir, ich hab sie sozusagen "geerbt".
Gruß, Jan
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#8

Re: User aus DB kicken

  Alt 30. Mai 2007, 09:20
Die Firebirdler haben wohl schon seit ca. 3 Jahren ein offenes Ticket (siehe Link), welches genau das Feature fordert. Offenbar ist es bis heute nicht implementiert. Von daher sieht es wohl leider recht schlecht aus.

Allerdings könnte unser IBexpert auch was Gegenteiliges wissen, von dem wir hier nix wissen
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Elvis

Registriert seit: 25. Nov 2005
Ort: München
1.909 Beiträge
 
Delphi 2010 Professional
 
#9

Re: User aus DB kicken

  Alt 30. Mai 2007, 09:24
Zitat von Der Jan:
Aber wenn ich das richtig verstanden habe, ist das wohl momentan (noch) nicht möglich ..?
Selbst in Oracle auf Windows ist das nicht so ohne weiteres möglich, zumindest nicht wenn die Session gerade nicht antwortet.
Wenn du den Server von SuperServer (1 thread pro session) auf ClassicServer (1 Prozess pro Session) umstellst, solltest du genau den Prozess abschießen können.
Aber wie gesagt: dieses Problem gäbe es in einem vernünftigen mehrschichtigen Design nicht.
Robert Giesecke
I’m a great believer in “Occam’s Razor,” the principle which says:
“If you say something complicated, I’ll slit your throat.”
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: User aus DB kicken

  Alt 30. Mai 2007, 09:30
Zitat:
Die Firebirdler haben wohl schon seit ca. 3 Jahren ein offenes Ticket (siehe Link), welches genau das Feature fordert. Offenbar ist es bis heute nicht implementiert.
Hat auch erst 3 Votes.
Außerdem steht die 3 als Version dabei. Und solange man diese weiter nach hinten und Zwischenversionen mit Post3 Features als 2.x Features dazwischen schiebt wird es auch noch eine Weile dauern.
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:13 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