在cx_Oracle中,我使用tnsnames.ora获得了Connection
对象
示例:
conn = cx_Oracle.connect ('scott', 'tiger', 'DBNAME')
我正在尝试从连接对象(= conn)获取IP,但是我不知道该怎么做。
答案 0 :(得分:0)
实际上是不可能的。甚至OCI也不支持它。 OCI中有一个技巧可以将OCI Connection结构转换为旧的Oracle7连接上下文,并且此结构包含TCP套接字到数据库的“文件句柄”号。从该文件/套接字描述符中,您可以获得IP。
如果使用tnsnames.ora,则可以轻松解析它。但是,在Oracle RAC的情况下,您首先连接了SCAN列表器,此列表将仅向您发送重定向数据包到某个群集节点。根据从SCAN侦听器收到的信息,关闭与扫描侦听器的TCP连接并打开新的TCP连接。