如何使用 Python 远程连接到本地服务器上的 Oracle 数据库

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

如何使用 Python 远程连接到本地服务器上的 Oracle 数据库?

我尝试过使用 cx_Oracle 库,但我不知道如何连接到不在我的本地计算机或云上的数据库

python oracle cx-oracle
1个回答
3
投票

假设网络和防火墙允许连接,那么我会这样做:

python -m pip install oracledb

然后使用如下脚本:

import oracledb
import traceback
import os

un = os.environ.get('PYTHON_USERNAME')
pw = os.environ.get('PYTHON_PASSWORD')
cs = os.environ.get('PYTHON_CONNECTSTRING')

try:
    connection = oracledb.connect(user=un, password=pw, dsn=cs)

    with connection.cursor() as cursor:
        sql = """select systimestamp from dual"""
        for r in cursor.execute(sql):
            print(r)

except oracledb.Error as e:
    error, = e.args
    traceback.print_tb(e.__traceback__)
    print(error.message)

关键是要设置

PYTHON_CONNECTSTRING
环境变量。从 'Easy Connect' 语法开始。查找运行数据库的主机名或 IP 地址(例如 myhost.oracle.com)。查找数据库的服务名称(不是旧的“SID”)(例如服务名称可能是“orclpdb1”)。还有一个正在侦听的端口(默认为 1521)。然后将
PYTHON_CONNECTSTRING
环境变量设置为
myhost.oracle.com:1521/orclpdb1

还有其他可用的连接字符串语法,如手册中所示

© www.soinside.com 2019 - 2024. All rights reserved.