AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Firebird / Verbundene User abfragen

Firebird / Verbundene User abfragen

Ein Thema von pbfdg · begonnen am 4. Nov 2006 · letzter Beitrag vom 5. Aug 2007
Antwort Antwort
pbfdg

Registriert seit: 13. Mär 2005
16 Beiträge
 
#1

Firebird / Verbundene User abfragen

  Alt 4. Nov 2006, 19:26
Datenbank: Firebird • Version: 2.0 • Zugriff über: Zeos 6.6.0 Beta
Hallo

Wie kann ich die Aktiven User einer Firebird Datenbank abfragen?


Gruß Peter
  Mit Zitat antworten Zitat
pbfdg

Registriert seit: 13. Mär 2005
16 Beiträge
 
#2

QL

  Alt 5. Aug 2007, 13:21
Hallo zusammen,
halbes Jahr später und immer noch keine Lösung!
Deshalb noch mal die Frage:
Gibt es keine Möglichkeit die Angemeldeten User einer Firebird Datenbank über SQL zu ermitteln?
In den weiten des Internets habe ich zu diesem Thema nichts gefunden.

Gruß Peter
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#3

Re: Firebird / Verbundene User abfragen

  Alt 5. Aug 2007, 13:39
Hallo,

dafür sind die System-Tabellen TMP* zuständig, konkret:
Zitat:
TMP$ATTACHMENTS
The TMP$ATTACHMENTS table contains one row for each connection to a database.

Column name - Data type - Description
TMP$ATTACHMENT_ID INTEGER Connection identifier
TMP$DATABASE_ID INTEGER Database identifier
TMP$POOL_ID INTEGER Reserved
TMP$POOL_MEMORY INTEGER Reserved
TMP$STATEMENTS SMALLINT Number of compiled statements
TMP$TRANSACTIONS SMALLINT Number of active transactions
TMP$TIMESTAMP TIMESTAMP Connection create timestamp
TMP$QUANTUM INTEGER Units of execution
TMP$USER VARCHAR[31] User name
TMP$USER_IP_ADDR VARCHAR [16] User IP address
TMP$USER_HOST_NAME VARCHAR [16] User host name
TMP$USER_PROCESS_ID VARCHAR [16] User process ID
TMP$STATE VARCHAR [16] CONNECTED, ACTIVE
TMP$PRIORITY VARCHAR [16] Reserved
TMP$DBKEY_ID INTEGER Transaction ID of dbkey
TMP$ACTIVE_SORTS SMALLINT Number of active sorts
TMP$PAGE_READS INTEGER Page reads all database files
TMP$PAGE_WRITES INTEGER Page writes all database files
TMP$PAGE_FETCHES INTEGER Page fetches all database files
TMP$PAGE_MARKS INTEGER Page marks all database files
TMP$RECORD_SELECTS INTEGER Records selected by connection
TMP$RECORD_INSERTS INTEGER Records inserted by connection
TMP$RECORD_UPDATES INTEGER Records updated by connection
TMP$RECORD_DELETES INTEGER Records deleted by connection
TMP$RECORD_PURGES INTEGER Garbage collect record purges
TMP$RECORD_EXPUNGES INTEGER Garbage collect record expunges
TMP$RECORD_BACKOUTS INTEGER Garbage collect record backouts
Also hilft Dir z.B. folgende Abfrage:
SQL-Code:
SELECT TMP$USER, TMP$USER_IP_ADDR, TMP$USER_HOST_NAME, TMP$USER_PROCESS_ID, TMP$STATE
    FROM TMP$ATTACHMENTS
Bitte beachte, dass damit nur die angemeldeten Benutzer aufgeführt werden können. Wenn in einer Client-/Server-Umgebung nur der Server die DB-Verarbeitung organisiert, kann auch nur dieser angemeldet sein, aber nicht die Client-User.

Quelle: LangRef.pdf (Language Reference) aus der Dokumentation von Interbase 7.5 Developer Edition, das bei Delphi 2005 Pro dabei lag. Für alle solchen Details ist diese nach wie vor besser (und hilfreicher) als die Firebird-Dokumentation, zumal das Firebird Book nicht mehr aktuell ist (und wohl auch vergriffen).

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
pbfdg

Registriert seit: 13. Mär 2005
16 Beiträge
 
#4

Re: Firebird / Verbundene User abfragen

  Alt 5. Aug 2007, 13:56
Hallo Jürgen,
schönen Dank für die Hilfe!
Ich habe es mit der Abfrage versucht und bekomme folgende Fehlermeldung.

SQL Error: Dynamic SQL error code = -204 Table unknown TMP$ATTACHMENTS AT line 2..............

Gruß Peter

PS:Formel 1 ruft!!!!!!
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#5

Re: Firebird / Verbundene User abfragen

  Alt 5. Aug 2007, 16:17
Ohhh, tut mir leid. Bisher hatte ich mich immer darauf verlassen können, dass die Interbase-Doku auch für Firebird gültig ist. (Und ich bilde mir ein, dass ich auch schon mal eine TMP-Tabelle mit Select angeschaut hatte, aber wo und wie...)

Ich werde mal weiter suchen; ich bin mir sicher, dass diese Information zugänglich ist.

"Ergebnisse" der Suche
Firebird arbeitet ohne TMP-Tabellen (das liefert u.a. die DP-Suche).
Meine Erinnerung hat mich getrogen: Ich hatte genau den vorgeschlagenen Select genutzt, aber noch unter Interbase.
Der neue Wert CURRENT_USER bezieht sich ausschließlich auf die aktuelle Connection.

Schade! Jürgen

[OT]Selber Radfahren ist besser, als Stinkern bei der Produktion von Lärm und Abgasen zuzusehen.[/OT]
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  Mit Zitat antworten Zitat
arnold mueller

Registriert seit: 27. Jul 2005
129 Beiträge
 
#6

Re: Firebird / Verbundene User abfragen

  Alt 5. Aug 2007, 17:29
via SQL geht das z. Zt. nicht, soll aber in einer der nächsten Versionen kommen. (ich meine das zumindest irgendwo gelesen zu haben)
IBX bzw. UIB bieten Komponenten, um die gewünschte Info beim Server zu erfragen. Bei IBX war es glaube ich TIBDatabaseInfo.

-
Arno
  Mit Zitat antworten Zitat
pbfdg

Registriert seit: 13. Mär 2005
16 Beiträge
 
#7

Re: Firebird / Verbundene User abfragen

  Alt 5. Aug 2007, 19:21
Hallo Arnold,
Mit IBX "IBDataBaseInfo" habe ich es hinbekommen.

Danke!!

Gruß Peter
  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 16:35 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