我正在尝试使用cx_Oracle(64位python)访问我的Oracle数据库。我遵循了指令here。
我安装了0
,并用cx_Oracle 7.2.3
下载了instantclient-basic-windows.x64-19.3.0.0.0dbru.zip
(使用页面中提供的链接)
实际上,我已经安装了几乎所有版本的VC ++
我将Oracle Instant Client文件夹添加到了我的系统环境变量中,并通过在cmd中键入“ PATH”进行了仔细检查。
但是,当我运行VC 2015-2019
时,仍然出现错误消息
cx_Oracle.DatabaseError:DPI-1047:无法找到64位Oracle客户端库:“找不到指定的模块”。请参见https://oracle.github.io/odpi/doc/installation.html#windows以获取帮助
该错误可能是什么原因?如何解决?
答案 0 :(得分:0)
主要由于Instantclient版本和cx_Oracle不兼容而发生此错误。解决方案是用错误消息中提到的所需版本(在您的情况下为64位)替换InstantClient。
如何更换InstantClient: 然后,如果问题仍然存在,请在Oracle Downloads上找到最新的InstantClient(警告!版本,错误所指的不是您的Python / Windows版本,在上述情况下为64位),下载并替换为当前系统变量上的PATH或仅使用当前的InstantClient文件夹替换新的下载内容。
此外,建议的方法是检查与您的Oracle DB版本相对应的VS可再发行版本是否正确,并按照cx_oracle Docs中的说明进行安装,但是在我们的许多情况下,这没有引起问题。