linux上python3使用cx_Oracle连接Oracle数据库步骤
环境:centos7
前言:python中连接oracle需要安装instantclient,不管是mac、win还是linux都需要。后续讲解怎么安装。
安装cx_Oracle
pip3 install cx_Oracle
安装完cx_Oracle后建立连接测试代码
def connect():
'''
user,password,host,port,db 依次对应 用户名、密码、主机、端口、服务名;
建立游标,执行一条sql语句测试是否成功
'''
conn = cxo.connect('{}/{}@{}:{}/{}'.format(user, password, host, port, db))
cursor = conn.cursor()
cursor.execute(sql)
return cursor.fetchall()
如果不出意外的话,会显示错误如下所示:
conn = cxo.connect('{}/{}@{}:{}/{}'.format(user, password, host, port, db))
cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help
这段报错提示汇总告诉我们缺少instantclient,安装instantclient插件,直接复制错误提示中的网址即可
转到错误代码中的网址.
如图所示是官方提供的解决方案,就是要我们下载插件。然后点击下载地址如图所示:
然后,选择自己想要的版本(我猜你不知道自己想要哪个版本,那就跟我选一样的吧)
然后到现在为止,如果你开始烦了,下面请接受更烦的,233....
点击下载的链接后,甲骨文公司要放大招了,让你登录注册
温馨提示:可以加群(912282745)找我要哦,备注信息要填上我就是想要个插件
然后下载完之后按照第一张图提示的错误信息步骤去安装,最后完成安装。需要注意的是:根据官方给出的解决方案要注意改变插件的版本信息