如何使用python中的SCAN连接到Oracle-RAC?

问题描述 投票:1回答:1

我如下使用cx_Oracle模块连接到独立的Oracle服务器

import cx_Oracle

CONN_INFO = {
    'host': 'xxx.xx.xxx.x',
    'port': 12345,
    'user': 'user_name',
    'psw': 'your_password',
    'service': 'abc.xyz.com',
}

CONN_STR = '{user}/{psw}@{host}:{port}/{service}'.format(**CONN_INFO)

connection = cx_Oracle.connect(CONN_STR)

但是由于扫描IP没有计算机和它自己的用户名密码,我们如何连接?

python oracle cx-oracle oracle-rac
1个回答
0
投票

documentation中描述的名称,您可以简单地使用tnsnames.ora中定义的名称。

说您的RAC tnsnames条目称为MAXIMIR,您可以与其连接

 con = cx_Oracle.connect("my_usr", "my_pwd", "MAXIMIR", encoding="UTF-8")

或者,您可以将整个连接字符串传递到dns变量中

dsn = """(DESCRIPTION=
             (FAILOVER=on)
             (ADDRESS_LIST=
               (ADDRESS=(PROTOCOL=tcp)(HOST=scan1)(PORT=1521))
               (ADDRESS=(PROTOCOL=tcp)(HOST=scan2)(PORT=1521)))
             (CONNECT_DATA=(SERVICE_NAME=MAXIMIR)))"""

connection = cx_Oracle.connect("my_usr", "my_pwd", dsn, encoding="UTF-8")
© www.soinside.com 2019 - 2024. All rights reserved.