cx_Oracle connect - 具有负载平衡的连接字符串
cx_Oracle connect - connection string with load balancing
我有
格式的连接字符串
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。
我有
格式的连接字符串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。