RPA 通过 python 连接使用 Oracle 数据库

最近研究了下通过使用 Python 连接并使用 Oracle 数据库,Oracle 数据库的使用相对于 Mysql 还是复杂很多,不在于命令,而是在于环境。Mysql 的话只要调用pymysql的库就可以了,而 Oracle。。。。。。是真的神烦。。。。。为了让大家避坑,还是写出来分享一下

ONE,你得有一个 Oracle 服务端

这个你要没有。。。。那。。。。。。你就自己装个吧。。。网上有 11g、12g 的包可以下载安装

TWO,下载设置 instantclient

instantclient 是个啥玩意,可以简单理解为 oracle 客户端所需的配置吧,即使你有 sqlplus、Navicat for Oracle 这些工具去连接 oracle,但是前提你得有 instantclient,并且需要配置,不然你是连不上滴!
这个在 oracle 的官方有下载,根据你所需要连接的 oracle 服务端版本下载对应的 instantclient,附上 下载地址

下载完之后可不是就完事的,下载的是个 zip 包,先解压,然后需要在系统环境变量中将 instantclient 所在目录设置进去
RPA 通过 python 连接使用 Oracle 数据库

THREE,安装 cx_Oracle 库

可以使用 pip 命令安装第三方库

pip install cx_Oracle

如果不会 pip,那就参考 http://support.i-search.com.cn/article/1530238153623

FOUR,调用

至此,环境配置算是告一段落,简单代码直接上

import cx_Oracle
conn = cx_Oracle.connect('用户名/密码@ip:port/db实例')
cursor = conn.cursor()
result = cursor.execute('''select * from DEPT''')
data = cursor.fetchall()
print(data)
#输出内容:
[(10,'ACCOUNTING','NEW YORK'),(20,'RESEARCH','DALLAS')]

⚠️instantclient 这玩意是真的很烦,版本低了不行,位数不同不行,版本不对也有可能不行。。。。各种坑