我具有故障转移数据库连接 如下所示:
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)
连接数据库。
及以下语句返回CONSTR(如上所述)
dsnStr = cx_Oracle.makedsn("hostName", "port", "SIDNAME")
我的要求是直接在cx_Oracle.connect()中使用CONSTR(带有故障转移URL)。
答案 0 :(得分:1)
如documentation所述,第三个参数用于SID。如果您打算使用SERVICE_NAME,则需要执行以下操作:
dsnStr = cx_Oracle.makedsn("hostName", "port", service_name="service_name")
但是,如果您在tnsnames.ora文件中定义了某些内容,则可以直接使用该名称。您不必使用makedsn()。
此外,您可以使用EZ connect语法,如下所示:
cx_Oracle.connect("user/pw@host:port/service_name")
希望其中一个选项可以帮助您!