python连接oracle数据库

1安装oracle客户端(win)

从官网下载instantclient-basic-windows.x64-18.5.0.0.0dbru.zip

下载的客户端与你要连接的数据库版本需一致

例如数据库是18c,对应下载的win-64-18.5

配置环境变量(复制客户端的dll文件到python可以不配置,但是如果报错还是配置上吧)

PATH: D:\Program\oracle\instantclient_18_5
ORACLE_HOME: D:\Program\oracle\instantclient_18_5
LD_LIBRARY_PATH:D:\Program\oracle\instantclient_18_5

2安装cx_oracle包

下载cx_Oracle-8.3.0-cp37-cp37m-win_amd64.whl

下载对应的python版本

$ pip install cx_Oracle-8.3.0-cp37-cp37m-win_amd64.whl

3测试连接数据库

tns = '127.0.0.1:1521/orcl'
uname = 'orale'
upwd = '123123'

db = cx_Oracle.connect(uname, upwd, tns)
print(db.version)
sql1 = 'select * from user'
df1 = pd.read_sql(sql1, db)
print(df1)

4常见问题

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".
cx_Oracle.DatabaseError: DPI-1072: the Oracle Client library version is unsupported
cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2 or higher

解决方案:

(1)检查环境变量 LD_LIBRARY_PATH是否配置

(2)下载好的oracle客户端版本中所有的dll文件复制到Python\Python37\Lib\site-packages文件夹中。如果是虚拟环境,放到虚拟环境的site-packages下。如果还不行把dll也放在base环境的python下。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值