【发布时间】:2020-07-05 14:04:59
【问题描述】:
我尝试遵循堆栈溢出的所有可能答案,并尝试遵循与官方文档中提到的完全相同的步骤。
https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html
- 我有python 3.8 64bit
- 我有 Windows server 2019 64 位
- 我下载了版本 12.1.0.2.0 64 位 oracle 即时客户端。尝试了 Instant Client Package - Basic 和 Instant Client Package - Basic Light
- 将下载文件的路径设置为环境变量Path
- 重新启动系统。
import cx_Oracle
dsn_tns = cx_Oracle.makedsn('XXX', 'PORT', service_name='XXX')
conn = cx_Oracle.connect(user=r'XXX', password='XXX', dsn=dsn_tns)
c = conn.cursor()
c.execute(r'select name,open_mode from v$database;')
print(c)
conn.close()
我不知道还能做什么。仍然收到以下错误:
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help
【问题讨论】:
-
包含您发出的确切命令的日志会很有用,以便那些可能能够识别您的问题的人受益。
-
这是连接本身的问题,我仍然添加了代码
-
我什至尝试从该文件夹本身运行 python 文件。但它仍然给出错误
-
为什么不试试更新版本的即时客户端呢?并确保您遵循安装说明——特别是在 Windows 上,您需要确保安装了正确的可再发行组件。你没有在笔记中提到这一点。