AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Advantage Local Server: Benutzer ermitteln

Advantage Local Server: Benutzer ermitteln

Ein Thema von Mike_on_Tour · begonnen am 26. Mai 2009 · letzter Beitrag vom 26. Mai 2009
Antwort Antwort
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Advantage Local Server: Benutzer ermitteln

  Alt 26. Mai 2009, 09:36
Datenbank: Advantage Local Server • Version: 8.1 • Zugriff über: ADS-Komponenten
Hallo,

ich suche nach einer Möglichkeit, alle aktuellen Benutzer einer Datenbank (Dictionary) des Advantage Local Servers für eine Auswertung zu ermitteln. Die Datenbank selbst befindet sich auf einem zentralen Computer und der Zugriff erfolgt von bis zu drei verschiedenen Arbeitstationen. Meine bisherigen Recherchen haben ergeben, daß ich nur Informationen der Arbeitsstation bekomme, da dort eine Instanz des Advantage Local Server läuft.
z.B. mit EXECUTE PROECEDURE sp_mgGetConnectedUsers() Eine andere Lösung wäre über die Datenbank selbst, also eine Art Logbuch. Über einen Denkanstoß für einen der beiden Ansätze würde ich mich freuen.

Mike
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.177 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Advantage Local Server: Benutzer ermitteln

  Alt 26. Mai 2009, 09:39
Zitat von Mike_on_Tour:
... da dort eine Instanz des Advantage Local Server läuft.
Wiederspricht sich per Definition. Der ADS Local "Server" arbeitet nur mit Filezugriff auf den Datenbanktabellen. Es gibt keinen Server der läuft. Hier hast du es mit einer normalen Desktopdatenbank zu tun. Du kannst auf dem Server nachschauen wer die Dateien geöffnet hat.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

Re: Advantage Local Server: Benutzer ermitteln

  Alt 26. Mai 2009, 09:41
Das mag sein. Momentan bekomme ich jedenfalls nicht die Informationen, die ich gern möchte. Ich könnte also etwas Hilfe oder einen Tip gebrauchen, egal wie der ADS läuft und arbeitet.
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Benutzerbild von joachimd
joachimd

Registriert seit: 17. Feb 2005
Ort: Weitingen
674 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Advantage Local Server: Benutzer ermitteln

  Alt 26. Mai 2009, 12:34
Zitat von Mike_on_Tour:
Hallo,

ich suche nach einer Möglichkeit, alle aktuellen Benutzer einer Datenbank (Dictionary) des Advantage Local Servers für eine Auswertung zu ermitteln. Die Datenbank selbst befindet sich auf einem zentralen Computer und der Zugriff erfolgt von bis zu drei verschiedenen Arbeitstationen. Meine bisherigen Recherchen haben ergeben, daß ich nur Informationen der Arbeitsstation bekomme, da dort eine Instanz des Advantage Local Server läuft.
z.B. mit EXECUTE PROECEDURE sp_mgGetConnectedUsers() Eine andere Lösung wäre über die Datenbank selbst, also eine Art Logbuch. Über einen Denkanstoß für einen der beiden Ansätze würde ich mich freuen.

Mike
Wie Bernhard schon schrieb, geht das beim Local Server nicht.
Das Problem mit einer Logtabelle sehe ich, wenn ein Rechner absürzt und sich nicht mehr aus der Tabelle austragen kann.
Hier eventuell die Lösung über Trigger: Bei jeder Operation (insert, update, delete) auf alle DB-Tabellen soll die Workstation den Timestamp ihres Eintrages in der Logtabelle aktualisieren. Ist ein Eintrag zB >5 Minuten alt, so wird er gelöscht.

Beispiel:
SQL-Code:
create trigger my_ins on mytest after insert
begin
  merge mylog on (loginname=user())
    when matched then update set lastactive=now()
   when not matched then insert(loginname,lastactive) values(user(),now());
  delete from mylog where timestampadd(SQL_TSI_MINUTE, 5, lastactive)<now();
end;
Falls Du das nicht auf Benutzerebene machen willst, kannst Du auch ApplicationId() auf den Namen des jeweiligen Client-Rechners setzen und das stattdessen verwenden.
Joachim Dürr
Joachim Dürr Softwareengineering
http://www.jd-engineering.de
  Mit Zitat antworten Zitat
Mike_on_Tour

Registriert seit: 16. Aug 2007
195 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Advantage Local Server: Benutzer ermitteln

  Alt 26. Mai 2009, 12:44
Zitat von joachimd:
... Das Problem mit einer Logtabelle sehe ich, wenn ein Rechner absürzt und sich nicht mehr aus der Tabelle austragen kann.
Daran habe ich auch schon gedacht. Das war ja auch ein Grund für diesen Beitrag im Forum.
Mit einem Trigger muß ich das mal probieren.
Programmieren ist wie das Wandeln auf dem schmalen Pfad zwischen Wahnsinn und Intelligenz.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:46 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