cx_Oracle连接 - 具有负载平衡的连接字符串



我有格式的连接字符串

jdbc:oracle:thin:@(DESCRIPTION = (LOAD_BALANCE=ON) 
 (ADDRESS = (PROTOCOL = tcp)(HOST = aaa)(PORT = 1531))
 (ADDRESS = (PROTOCOL = tcp)(HOST = bbb)(PORT = 1526))
 (ADDRESS = (PROTOCOL = tcp)(HOST = ccc)(PORT = 1526))
 (ADDRESS = (PROTOCOL = tcp)(HOST = ddd)(PORT = 1526))
 (CONNECT_DATA = (SERVER=dedicated)(SERVICE_NAME=a.b.org))
)

如何使用cx_Oracle连接

connection = cx_Oracle.connect( .... ) 

使用上述指定格式的连接字符串?

这实际上很简单。您可以执行以下操作:

dsn = """(DESCRIPTION = (LOAD_BALANCE=ON) 
 (ADDRESS = (PROTOCOL = tcp)(HOST = aaa)(PORT = 1531))
 (ADDRESS = (PROTOCOL = tcp)(HOST = bbb)(PORT = 1526))
 (ADDRESS = (PROTOCOL = tcp)(HOST = ccc)(PORT = 1526))
 (ADDRESS = (PROTOCOL = tcp)(HOST = ddd)(PORT = 1526))
 (CONNECT_DATA = (SERVER=dedicated)(SERVICE_NAME=a.b.org))
)
"""
cx_Oracle.connect("user", "password", dsn)

实际上,您可以在 tnsnames.ora 文件中找到的任何连接字符串也可以作为 dsn 参数直接传递给 cx_Oracle.connect。

最新更新