使用Python的Oracle DB连接错误-cx_Oracle:cx_Oracle.DatabaseError:DPI-1047

时间:2019-10-05 22:02:04

标签: python cx-oracle

我正在尝试使用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以获取帮助

该错误可能是什么原因?如何解决?

1 个答案:

答案 0 :(得分:0)

主要由于Instantclient版本和cx_Oracle不兼容而发生此错误。解决方案是用错误消息中提到的所需版本(在您的情况下为64位)替换InstantClient。

如何更换InstantClient: 然后,如果问题仍然存在,请在Oracle Downloads上找到最新的InstantClient(警告!版本,错误所指的不是您的Python / Windows版本,在上述情况下为64位),下载并替换为当前系统变量上的PATH或仅使用当前的InstantClient文件夹替换新的下载内容。

此外,建议的方法是检查与您的Oracle DB版本相对应的VS可再发行版本是否正确,并按照cx_oracle Docs中的说明进行安装,但是在我们的许多情况下,这没有引起问题。