python连接oracle报错:DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: “

本文解决Python连接Oracle时出现的DPI-1047错误,详细步骤包括确认PyCharm、Oracle客户端及Python均为64位,并将oci.dll等三个关键文件复制到Python的site-packages目录。
部署运行你感兴趣的模型镜像

python连接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
 

解决方案

要求

①pycharm是64位

②oracle客户端是64位

③python是64位

接下来的操作,去oracle客户端安装目录找到三个文件,分别是

oci.dll、oraocci11.dll、oraociei11.dll

然后把这些文件复制到python的安装目录site-packages下,重启工具就可以了

 

 

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

出现 `oracledb.exceptions.DatabaseError: DPI - 1047: Cannot locate a 64 - bit Oracle Client library: "The specified module could not be found"` 错误,意味着 Python 在运行时无法找到 64 位的 Oracle 客户端库。以下是一些解决方法: ### 确保位数一致 保证 PythonOracle 客户端库(如 instantclient)的位数一致。若 Python64 位,就需要使用 64 位的 Oracle 客户端库。例如有人最初使用 32 位 Python 连接 Oracle 报错,之后将 Python 换成 64 位,更改完环境变量并添加 dll 文件到 Python 根目录后连接成功,说明 OraclePython、instantclient 三者的版本最好保持一致 [^4]。 ### 安装 64Oracle 客户端库 可以使用 rpm 的安装方式,下载地址为:https://yum.oracle.com/repo/OracleLinux/OL8/oracle/instantclient21/x86_64/getPackage/oracle - instantclient - basic - 21.1.0.0.0 - 1.x86_64.rpm ,下载完成后进行安装 [^5]。 ### 设置环境变量 安装完成 Oracle 客户端库后,需要设置相应的环境变量。在 Windows 系统中,可在系统属性的环境变量设置里添加 `PATH` 变量指向 Oracle 客户端库的安装目录;在 Linux 系统中,可以在 `.bashrc` 或 `.bash_profile` 文件中添加类似如下内容: ```bash export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/path/to/oracle/instantclient ``` 其中 `/path/to/oracle/instantclient` 是 Oracle 客户端库的实际安装路径。 ### 将 DLL 文件复制到 Python 根目录 将 Oracle 客户端库中的 DLL 文件复制到 Python 的根目录下,这也有助于 Python 找到所需的库文件 [^4]。 ### 参考官方文档 可以参考官方文档获取更多帮助,链接为:https://cx - oracle.readthedocs.io/en/latest/user_guide/installation.html [^2][^3]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值