Python cx_Oracle 与故障转移 oracle 的连接 url

Python cx_Oracle connection with failover oracle url

我有故障转移数据库连接 如下所示:

CONSTR =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Host Name)(PORT = Port Number))
(LOAD_BALANCE = YES)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = Service Name)
(FAILOVER_MODE =
(TYPE = SELECT)
(METHOD = BASIC)
(RETRIES = 180)
(DELAY = 5)

是否可以使用 cx_Oracle 导入在 python 中建立 oracle 连接。

使用 python 3.5

目前正在使用

con = cx_Oracle.connect(user="myuser", password="mypass", dsn=dsnStr)

连接数据库。

和下面的语句 returns CONSTR(如上所述)

dsnStr = cx_Oracle.makedsn("hostName", "port", "SIDNAME")

我的要求是在 cx_Oracle.connect() 中直接使用 CONSTR(具有故障转移 URL)。

documentation 所述,第三个参数用于 SID。如果您打算使用 SERVICE_NAME,则需要改为执行以下操作:

dsnStr = cx_Oracle.makedsn("hostName", "port", service_name="service_name")

但是,如果您在 tnsnames.ora 文件中定义了某些内容,则可以直接使用该名称。您不必使用 makedsn()。

此外,您可以使用 EZ 连接语法,如下所示:

cx_Oracle.connect("user/pw@host:port/service_name")

希望这些选项之一能帮助您!