在Firebird中获取连接的客户端IP

时间:2016-08-17 09:08:14

标签: database firebird

我在服务器上托管了Firebird数据库。 Firebird可以使用MON$ATTACHMENTS表显示已连接用户的列表,其中包含用户名,角色等。但是,我无法找到如何获取某个特定客户端的IP地址。

例如:如果来自192.168.1.77的用户“USER”已连接到192.168.1.2(服务器),如何通过Firebird查询获取此192.168.1.77地址?

编辑:MON$REMOTE_ADDRESS显示DHCP服务器地址,而不是本地客户端地址。

2 个答案:

答案 0 :(得分:4)

Firebird有一个内部附件表,其中存储了每个当前连接。可以像这样查询名为USER的用户的远程地址:

select MON$REMOTE_ADDRESS
  from MON$ATTACHMENTS
  where MON$USER = 'USER'

答案 1 :(得分:0)

如果您对当前客户端的连接感兴趣,可以使用以下查询:

   SELECT MON$USER, MON$REMOTE_ADDRESS,
       MON$REMOTE_PID,
       MON$TIMESTAMP
     FROM MON$ATTACHMENTS
     WHERE MON$ATTACHMENT_ID <> CURRENT_CONNECTION

https://firebirdsql.org/rlsnotesh/rnfb210-admin.html

相关问题