Einzelnen Beitrag anzeigen

Jürgen Thomas

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

Re: Firebird / Verbundene User abfragen

  Alt 5. Aug 2007, 12: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