配置python用cx_Oracle连接oracle,或使用cx_Oracle连接数据库时报错: cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library
首先报错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版本就行)
下载cx_Oracle :下载地址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pyhook。由下图的cp37m-win_amd64版本可以确定cx-oracle版本应为8.0.1
直接在PyCharm安装cx-oracle8.0.1就行,
执行代码
自学咖网 » 配置python用cx_Oracle连接oracle,或使用cx_Oracle连接数据库时报错: cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library