python3连接oracle 11G数据库

Python连接Oracle数据库记录

环境说明(保持各个关联环境版本对应非常重要):

系统环境:win7 64位

数据库版本:Oracle 11G  64位

python版本:python 3.7.3 64

操作步骤

1、安装databaselibrary 库

pip安装,具体安装略

2、安装oracle 客户端

下载oracle客户端需和oracle版本对应

我根据本地环境下载的是instantclient-basic-windows.x64-11.2.0.4.0.zip

将客户端解压到python根目录,然后添加环境变量(即将客户端文件路径添加到path中,注意末尾加分号)

添加tnsnames.ora文件

下载地址: https://pan.baidu.com/s/1niTEjK6NbKk5aGGH3cm4eA 提取码: u5u7

3、安装cx_oracle

cx_oracle是一个用来连接并操作Oracle数据库的python扩展模块,支持报错oracle9.2 10.2 11等版本

下载地址:https://pypi.org/project/cx-Oracle/

根据实际下载对应系统、python版本的文件,我下载的是cx_Oracle-8.0.1-cp37-cp37m-win_amd64.whl

将下载的.whl文件放于pythonScripts文件

cmd-将目录切换到pythonScripts文件下,输入pip install cx_Oracle-8.0.1-cp37-cp37m-win_amd64.whl

到此,基本环境安装好了,接下来验证是否可用正常连接oracle数据库

在第一次连接测试,我出现了这个问题“cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: XXoci.dll is not the correct architecture”

百度后,发现是Oracle客户端、系统、python三者版本位数不对应,核实后是我客户端版本不对,第一次是网上随便下载的。重新下载然后重启pycharm运行即可。

常见问题可参考这篇文章:

https://www.pianshen.com/article/9834930368/

原文地址:https://www.cnblogs.com/zhuzhu1214/p/13666237.html