2010-02-07 115 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是否有幫助。