首先报错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