首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >带有故障转移oracle url的Python cx_Oracle连接

带有故障转移oracle url的Python cx_Oracle连接
EN

Stack Overflow用户
提问于 2018-08-20 15:14:51
回答 1查看 1.5K关注 0票数 3

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

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()中的常量(带有故障转移URL)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-21 05:44:13

正如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")

希望这些选项中的一个能帮到你!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51925709

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档