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 中国

相关推荐
跨境小彭19 小时前
Python列表去重的6种高效方法(含保留顺序+性能对比)
开发语言·python
笃行35020 小时前
零代码完成MongoDB迁移,KingbaseES是怎么做到的
数据库
Leighteen20 小时前
时区的坑:为什么存进数据库的时间,差了 8 小时
数据库
今天AI了吗20 小时前
Python 基础语法从入门到使用详解
开发语言·人工智能·python
陈天伟教授20 小时前
TraeWork初体验-生成研究报告
大数据·数据库·人工智能
大黄说说20 小时前
SQL Server 执行计划怎么看?快速定位 SQL 慢的根源
java·linux·数据库
苏灿烤鱼20 小时前
从微信公众号内容到视频号视频:自动化视频生成的技术实现
人工智能·python·ffmpeg
专注API从业者20 小时前
告别人工盯品!Open Claw 搭建京东商品全自动监控与数据分析系统(附完整可运行代码)
大数据·数据库·数据分析
金銀銅鐵20 小时前
[Python] 借助 Pillow 和 NumPy 生成与斐波那契数列有关的图案
python·数学
雪之下雪乃的代码日记20 小时前
Python快速入门(Java开发者版)
java·开发语言·笔记·python