Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Client-IP-Adresse im select ermitteln (FB2.5) (https://www.delphipraxis.net/179961-client-ip-adresse-im-select-ermitteln-fb2-5-a.html)

ZOD 14. Apr 2014 11:02

Datenbank: Firebird • Version: 2.5 • Zugriff über: DBexpress

Client-IP-Adresse im select ermitteln (FB2.5)
 
Datenbankserver:
Server Version: WI-V2.5.2.26539 Firebird 2.5
Server Implementation: Firebird/x86/Windows NT
Service Version: 2

Frage:
Wie kann ich innerhalb eines select Daten des verwendeten Attachments
des select abrufen?

Hinweise:
1 Der Bentutzer ist KEIN Admin.
2 Am Arbeitsplatz (PC) hat der Benutzer evt. mehr als eine DB-Connection offen.
3 Ich plane den Select innerhalb einer Stored Procedure einzusetzen, um so ggf. Änderungen in der DBbesser zu dokumentieren. Dafür möchte ich mir z.B. die IP-Adresse des Client merken.

Vermutlich geht das über die Tabellen mon$attachments und mon$statements, aber ich habe
derzeit noch keine Idee wie ich dort konkret für ein laufenden select selektiere.

Danke für Tips!

mkinzler 14. Apr 2014 11:11

AW: Client-IP-Adresse im select ermitteln (FB2.5)
 
Was hast Du genau vor?

Schau Dir mal die Kontextvariable CURRENT_CONNECTION an.

chaosben 14. Apr 2014 13:31

AW: Client-IP-Adresse im select ermitteln (FB2.5)
 
Auf Basis von Markus' Vorschlag, könntest du dieses Statement nutzen:
Code:
select a.mon$remote_address
from mon$attachments a
where a.mon$attachment_id = current_connection
Das liefert dir die IP-Adresse des Clients, der dieses Statement ausführt.

ZOD 14. Apr 2014 13:44

AW: Client-IP-Adresse im select ermitteln (FB2.5)
 
Hallo mkinzler,

das hat mich auf die richtige Spur gebracht, die Lösung war dann:
Code:
rdb$get_context('SYSTEM', 'CLIENT_ADDRESS')
Danke.


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 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