使用cx_Oracle连接数据库时报错: cx_Oracle.DatabaseError: DPI-


首先报错DPI-1047原因分析

有分析才有进步,没进步心情又怎么giao起来呢是吧:

1):没有oracle客户端instantclient***安装文件,并且该目录文件没有添加到环境变量;

2):该instantclient***安装文件中的.dll结尾的三个动态链接库文件没有复制到python的运行环境中;

3):Oracle的客户端instantclient***,Python,cx_Oracle是否都是64位的(或者32位)

1. 安装Oracle客户端的版本,添加环境变量

安装oracle客户端instantclient***

由于我的数据库版本是11g和64位的,所以这里下载11g对应的instantclient文件win64位:https://www.oracle.com/database/technologies/instant- client/winx64-64-downloads.html

也可以到我的网盘下载,链接:https://pan.baidu.com/s/1vlernSP6PLHM6P8kCcpFZw

提取码:zmm1

下载解压,这里为了方便管理,将下载的instant文件解压到python文件夹下

并添加环境变量

把oracle客户端instantclient***的安装文件中以.dll结尾的三个动态链接库文件,复制到python的安装目录中的Lib的site- packages下

2. cmd,查看Py的版本

3. 根据安装的Python的具体版本,下载对应的cx_Oracle版本(py3.7版本对应cx_Oracle的cp37m版本就行)

下载cx_Oracle :下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook。由下图的cp37m-win_amd64版本可以确定cx- oracle版本应为8.0.1

直接在PyCharm安装cx-oracle8.0.1就行,

执行代码

使用cx_Oracle连接数据库时报错: cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library介绍到这里,更多Python学习请参考编程字典Python教程 和问答部分,谢谢大家对编程字典的支持。


原文链接:https://www.cnblogs.com/Luoters/p/13886978.html