在客户端获取还是在服务器端获取呢?
在服务器端的:
用SELECT SYS_CONTEXT ('USERENV', 'ip_address') FROM DUAL就可以了

解决方案 »

  1.   

    请参考精华区文章:
    http://www.csdn.net/expert/topic/816/816385.xml?temp=.4306147
    竹之草的回答。
      

  2.   

    可以使用UTL_INADDR包在存储过程中决定本机的主机名,或从一个给定的主机名确定它的ip地址。
      

  3.   

    1. 如果是在服务器上,在操作系统下可以直接得到;
    2. 如果是在客户端,那么你是如何连到数据库的,是通过IP还是主机名称?如果是主机IP,那么这个IP就是你要的;如果是主机名称,就找寻一下主机hosts文件,里面有对应的IP的。
      

  4.   

    UTL_INADDR: 好像是要817以上版本的?
      

  5.   

    tnsping yourservicename
    if it returns the server name 
    then do ping server name 
      

  6.   

    谢谢大家的回复,我是想在客户端获得服务器端的IP地址,是通过IP建立数据库连接的.可以获取吗?
    不想用触发器来获得,我只是简单的获取服务端地址而已.