AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Wie würdet Ihr eine Mehrbenutzersperre realisieren?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie würdet Ihr eine Mehrbenutzersperre realisieren?

Ein Thema von Janek76 · begonnen am 31. Mai 2006 · letzter Beitrag vom 31. Mai 2006
 
Janek76
(Gast)

n/a Beiträge
 
#1

Wie würdet Ihr eine Mehrbenutzersperre realisieren?

  Alt 31. Mai 2006, 18:50
Datenbank: MSSQL • Zugriff über: ADO
Hallo!

Folgende Frage habe ich:

Ich greife in Delphi 7 mit den AdoComponenten auf den MSSQL-Server zu. Das Programm soll im Terminal-Server laufen.

Ich benötige für mein Programm eine Mehrbenutzersperre, d.h. solange das Formular für das Unterprogramm geöffnet ist, soll kein anderer mit diesem Programm auf der Datenbank arbeiten, mit anderen Programmen und Unterprogrammen ggf. unter dem selben Benutzernamen schon.

Ich dachte ich schreibe in eine Tabelle einen Wert, der bei 0 beginnt, beim OnCreate-Event des Formulars um 1 hochgezählt und bei OnClose um 1 erniedrigt wird. Jedesmal wenn nach dem Öffnen der Wert ungleich 1 ist, würde ich die Sperre im Programm aktivieren.

Nun kann es aber passieren, daß das Programm abgeschossen wird oder der Rechner abstürzt. Dann würde die OnClose-Routine nicht ausgeführt werden und die Sperre wäre dauerhaft aktiviert, weil ein falscher Wert in der Tabelle stehen würde. Dafür müßte ich einen Button einrichten, mit dem man die Mehrbenutzersperre zurücksetzen kann. Das möchte ich aber verhindern. Daher habe ich zwei Fragen:

1) Gibt es sowas wie eine eindeutige Connection-ID bei TAdoConnection, die ich abfragen kann, die dann verschwindet, wenn keine Verbindung mehr besteht? Oder gibt es einen flüchtigen Speicher innerhalb einer Instanz des Programms, den ich im Terminal-Server aus einer anderen Instanz abfragen kann?

2) Wie kann ich mir die offenen Verbindungen zur Datenbank auflisten lassen?

Mich würden sehr Eure Meinungen interessieren. Wie würdet Ihr das umsetzen. Ist der Weg richtig oder macht man das anders?
  Mit Zitat antworten Zitat
 


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 10:25 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