2010-02-07 126 views
3

希望这是可能的,并且有人可以提供帮助,但我需要一种方法从Oracle ApEx内获取本地IP地址(在ipconfig命令信息中列出的Windows框)。如何获得Oracle内部PC的本地IP地址ApEx

,因为我曾经尝试都owa_util.get_cgi_env('REMOTE_ADDR')以及sys_context('userenv', 'ip_address')

只是似乎无法得到的Oracle APEX内的本地PC的IP地址,这是可能的。

任何想法?

回答

3

为了得到Oracle客户端 IP地址,你必须使用你建议的一个::

select sys_context('userenv','ip_address') 
    from dual; 

要获得Oracle服务器 IP地址,您可以使用:

select utl_inaddr.get_host_address(sys_context('userenv','server_host')) 
    from dual; 

更新(来自评论):如果您正在寻找应用程序服务器IP,客户端和服务器。对?这不能由oracle获得。这就像向Web服务器IP询问Oracle一样。由于Oracle Appex是100%PLSQL,因此无法获取此信息。

+0

谢谢你回到我身边。不幸的是,我尝试了这两种方法,但无济于事。数据库在这里设置的方式是通过Load Balancer来确定用户将连接到的应用程序服务器。我认为这个设置是一个问题。 – tonyf 2010-02-08 00:43:23

+0

您正在寻找应用程序服务器IP? – FerranB 2010-02-08 01:22:23

+0

我实际上是在Windows机器上寻找本地PC IP。如果您进入Windows命令窗口并发出ipconfig,您将看到一个IP地址值。这是我需要在Oracle内部获得的这个价值。 – tonyf 2010-02-08 01:34:46

0

记住你的电脑告诉你的ipconfig可能是一个本地网络IP地址。我的家庭PC被本地路由器分配的地址为192.168.0.10,这与全球网络上的其他一万台PC相同。

这就是说,看看thisthis是否有帮助。