Einzelnen Beitrag anzeigen

Generalissimo

Registriert seit: 28. Aug 2003
187 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: Arbeiten mit Datenbanken im Netzwerk

  Alt 8. Apr 2005, 14:35
Dann würde ich dir den Tipp von glkgereon empfehlen. Leg eine Extra Tabelle an.

Tabelle:

UserID | Timestamp
---------------------

Szenario Client-Server -> Two-Tier-Technik
Beim verbinden mit der DB schreibst du den User in die Tabelle. Beim Beenden löschst du ihn
Ab und zu solltest du dann mit nem Systemprogramm nachschauen ob einen User gibt dessen Timestamp schon bissl sehr alt ist.
Ist das der Fall könntest du (vorrausgesetzt du hast soetwas implementiert) nachfragen ob er noch Online ist. Ist er es nicht dann löschst du ihn aus der Tabelle. Dies ist für den Fall das mal ein Programm nicht über den offiziellen Weg beendet wurde.

Szenario -> n-Tier-Technik
Hier sind Verbindungen nur auf kurze Dauer angelegt. Sie werden nur geöffnet und geschlossen,wenn sie benötigt werden und nicht zum Programmstart und Programmende. Ist hier der Timestamp relativ alt (du weißt ja ungefähr welche Daten bewegt werden und wielange es dann dauert bis sie beim Client sind.) kannst du den User ohne Nachfrage löschen.

Achja die Ermittlung ob mehr als einer mit der DB verbunden ist, läuft dann über

Ergebnis von Select Count(UserID) FROM TabelleX
If Ergebnis > 1 then ShowMessage('Es sind noch Benutzer mit der DB verbunden')
  Mit Zitat antworten Zitat