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

相关推荐
wewowilling几秒前
AI大模型开发--01Python基础(无废话)
开发语言·python·函数
小猴子爱上树2 分钟前
跨境电商AI图片翻译工具:批量图片翻译、视频字幕翻译与智能抠图一站式解决
大数据·人工智能·python·音视频
5G微创业5 分钟前
去除抖音视频水印的Python实现
python·微信小程序·去水印
WeiXin_DZbishe7 分钟前
基于微信小程序的本地闲置物品交易平台-计算机毕设 附源码【课程设计】26825
vue.js·spring boot·python·微信小程序·架构·php·课程设计
小羊没烦恼!8 分钟前
OS X 上使用.NET开发应用程序
开发语言·前端·数据库·人工智能·c#·策略模式
M--Y9 分钟前
LangChain 提示工程:少样本提示与输出解析器
python·langchain·大模型·llm·输出解析器·少样本提示
朱包林10 分钟前
iTerm2终端配置指南
linux·javascript·python·云原生·容器·kubernetes·云计算
棉猴11 分钟前
玩游戏学Python5-函数
开发语言·python·函数·玩游戏·游戏编程
Rain的Java大神之路12 分钟前
[特殊字符]8年Java老兵转型AI Agent:90%的人挂在同一个坑,根本不用学Python!(万字实战复盘,建议收藏)
java·数据库·人工智能·后端·python·spring·ai编程
高级程序源26 分钟前
springboot本地生活服务平台33399-计算机课程设计、毕业设计
vue.js·spring boot·python·mysql·小程序·flask·课程设计