使用python连接oracle数据库服务器需要三个软件的位数一致额版本配套(python版本、oracle数据库服务器版本和oracle客户端连接工具版本)
Oracle客户端工具
使用python来操作oracle数据库,我们需要先下载一个oracle的客户端连接工具。因为前面我们安装的是一个oracle 12c的64位数据库,所以我们安装的oracle客户端也需要与之对应。我这边下载的是instantclient-basic-windows.x64-19.6.0.0.0dbru.zip,支持oracle 12c的版本。
下载后将压缩包文件解压,将文件夹中的所有dll文件都复制到python36安装目录的Python36\Lib\site-packages目录下(如:C:\Program Files\Python36\Lib\site-packages)目录下。
cx_Oracle库安装
这一次的库安装就不在建议大家直接使用命令“pip install cx_Oracle”进行安装了,因为这样安装的版本是最新的版本,大家可以直接在官网上去下载对应的版本,我们这边下载的是cx_Oracle-5.3-12c.win-amd64-py3.6-2.exe,其中12c代表支持的oracle服务器版本,win-amd64代表支持64位操作系统。
下载之后使用管理员权限运行,直接默认安装
这样我们就安装好了cx_Oracle库程序。
python连接oracle 12c
先看代码然后我们再来解释吧
# -*- coding:utf-8 -*-
import cx_Oracle
db = cx_Oracle.connect('C##oracle', 'oracle', '192.168.106.100:1521/orcl')
cursor=db.cursor()
sql="SELECT COLUMN1, COLUMN2 FROM C##ORACLE.NEWTABLE"
cursor.execute(sql)
result = cursor.fetchall()
for i in result:
print(result)
cursor.close();
db.close();
执行结果如下:
其它的SQL语句执行方式也是一致的,只需要替换cursor.execute()函数中的SQL参数就好了。
过程中的报错处理
版本不对应
当出现如下图所示的告警,表示我们安装的软件版本不匹配,只需要保证oracle客户端、oracle服务器和cx_Oracle版本匹配一致就好了
oracle客户端拷贝的文件不全
下载了oracle客户端之后,我们需要将文件夹中的所有dll文件复制到python36安装目录的Python36\Lib\site-packages,若缺失文件的情况下会出现如下报错
拷贝的文件如下:
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有