在装有 Python 3.9.6 的 macOS 上,使用 Oracle 的 python-oracledb driver 的 Python 代码:
import oracledb
import os
un = os.environ.get("PYTHON_USERNAME")
pw = os.environ.get("PYTHON_PASSWORD")
cs = "localhost/orclpdb1"
c = oracledb.connect(user=un, password=pw, dsn=cs)
给出错误:
DPY-6005: cannot connect to database. Connection failed with "[Errno 61] Connection refused"
在 Linux 上,错误如下:
DPY-6005: cannot connect to database. Connection failed with "[Errno 111] Connection refused"
这些是什么意思?
[更新:在 python-oracledb 1.0.1 中,错误被 DPY-6005 包装。在 1.0.0 中,仅显示了错误的较低级别的 Python 部分。]
最佳答案
一种情况是您使用的数据库端口(或默认端口 1521)是 不正确。找到正确的端口并使用它。例如,如果您的 数据库监听器正在监听端口 1530 而不是默认端口 1521,那么您可以尝试连接字符串:
cs = "localhost:1530/orclpdb1"
确保主机名正确:您可能连接到了错误的机器。
关于python - 'DPY-6005: cannot connect to database. Connection failed with "[Errno 61] 连接被拒绝"' 对于 python-oracledb 意味着什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72385533/