如何从Cx_Oracle中的Connection对象获取IP

问题描述 投票:0回答:1

在cx_Oracle中,我使用tnsnames.ora获得了一个Connection对象

例:

conn = cx_Oracle.connect ('scott', 'tiger', 'DBNAME')

我试图从连接对象(= conn)获取IP,但我无法弄清楚如何做到这一点。

oracle connection cx-oracle
1个回答
0
投票

这实际上是不可能的。甚至OCI也不支持它。 OCI中有一个技巧可以将OCI Connection结构转换为旧的Oracle7连接上下文,并且此结构包含TCP套接字到数据库的“文件句柄”编号。从这个文件/套接字描述符,您可以获得IP。

如果你使用tnsnames.ora,你可以轻松地解析它。但是在Oracle RAC的情况下,您首先连接SCAN lister,这个将只发送重定向数据包到某个集群节点。将关闭与扫描侦听器的TCP连接,并根据从SCAN侦听器接收的信息打开新的TCP连接。

© www.soinside.com 2019 - 2024. All rights reserved.