cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library

复制代码
pip install cx_Oracle

import cx_Oracle

再导入该模块进行数据库连接的时候报错

这个错误表明您的Python环境是64位的,但是您尝试使用的Oracle客户端库(oci.dll)是32位的

根据官方给出的文档进行查看

cx_Oracle 8 Installation --- cx_Oracle 8.3.0 documentationhttps://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html

cx_Oracle模块加载Oracle客户端库, 通过Oracle Net连接到现有数据库。 Oracle Net不是一个独立的 产品:它是Oracle客户端和Oracle数据库通信的方式。

要解决这个问题,需要确保以下几点:

  1. Python 解释器的位数 :确认你使用的 Python 解释器是 64 位的。你可以通过运行 python -c "import struct; print(struct.calcsize('P') * 8)" 来检查。如果输出是 64,那么你的 Python 解释器是 64 位的。

  2. Oracle 客户端库的位数:你需要安装与 Python 解释器相同位数的 Oracle 客户端库。如果你使用的是 64 位的 Python,那么你也需要安装 64 位的 Oracle 客户端库。

  3. 环境变量:确保 Oracle 客户端库的路径已经添加到你的环境变量中,特别是 PATH 变量。这样,当 cx_Oracle 尝试连接时,它可以找到正确的 DLL 文件。

  4. cx_Oracle 的版本:确保你安装的 cx_Oracle 版本与你的 Python 版本和 Oracle 客户端库版本兼容。

针对以上情况,可以尝试以下步骤:

  • 卸载现有的 Oracle 客户端库(如果是 32 位的)。
  • 从 Oracle 官方网站下载并安装与你的 Python 解释器相匹配的 64 位 Oracle 客户端库。
  • 安装或更新 cx_Oracle,确保它与你的 Python 版本和 Oracle 客户端库版本兼容。
  • 更新你的环境变量,确保 PATH 中包含了 Oracle 客户端库的路径。

完成上述步骤后,重新运行 Python 脚本,问题解决。

下载地址:

Oracle Instant Client Downloads | Oracle 中国

相关推荐
东方佑6 分钟前
使用Python创建带边框样式的Word表格
数据库·python·word
?abc!8 分钟前
设计模式基础概念(结构型模式):适配器模式(Adapter Pattern)
python·设计模式·适配器模式
柳如烟@19 分钟前
Docker安装ES :确保 Kibana 正确连接 Elasticsearch
运维·数据库·elasticsearch·docker·容器·kibana
Emma歌小白41 分钟前
循环动态地创建多个不同的 DataFrame
后端·python
Silence4Allen1 小时前
VSCode 设置源代码根目录
ide·vscode·python·编辑器·pythonpath
快乐点吧1 小时前
【MongoDB】windows安装、配置、启动
数据库·windows·mongodb
yangmf20401 小时前
私有知识库 Coco AI 实战(二):摄入 MongoDB 数据
数据库·人工智能·mongodb·coco ai
努力进修1 小时前
【金仓数据库征文】金仓数据库:开启未来技术脑洞,探索数据库无限可能
数据库·金仓数据库 2025 征文·数据库平替用金仓
键盘飞行员1 小时前
使用 Node、Express 和 MongoDB 构建一个项目工程
数据库·mongodb·express
小白教程1 小时前
MySQL主从数据库配置教程
数据库·mysql·adb·mysql8.0主从配置