Python cx的Oracle数据库连接错误Oracle:cx_Oracle.Database错误:DPI1047

2024-06-17 12:47:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用cx_Oracle(64位python)访问我的Oracle数据库。我遵循了here的指示。在

我安装了cx_Oracle 7.2.3,并用VC 2015-2019下载了{}(使用页面中提供的链接)

实际上,我已经安装了几乎所有版本的VC++

我将Oracle Instant Client文件夹添加到我的系统环境变量中,并通过在cmd中键入'PATH'对其进行了双重检查。在

但是,当我运行cx_Oracle.connect('xxx')时,我仍然收到一个错误消息

cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "The specified module could not be found". See https://oracle.github.io/odpi/doc/installation.html#windows for help

错误的可能原因是什么?如何修复?在


Tags: 版本文件夹cmdclient数据库here链接系统
1条回答
网友
1楼 · 发布于 2024-06-17 12:47:44

发生此错误的主要原因是instantclient版本与cx\u Oracle不兼容。解决方案是用错误消息中提到的所需版本替换instantclient(在您的例子中是64位)。在

如何替换instantclient: 如果问题仍然存在,请找到最新的instantClient(注意!您的错误引用的版本不是Python/Windows版本,在上面的例子中是64位)在Oracle Downloads上,下载并将其替换为系统变量上的当前路径,或者将新下载的内容替换为当前的instantClient文件夹。在

另外,检查与oracledb版本相对应的VS可再发行版本是正确的,并按照cx_oracle Docs中的引用进行安装是建议的方法,但在我们的许多情况下,这并没有导致问题。在

相关问题 更多 >