Centos8 运行cx_oracle DPI-1047: Cannot locate a 64-bit Oracle Client library异常解决

情况描述:

cx_Oracle 在centos 7版本上运行正常,迁移到Centos8后发现有如下报错:
Error: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

初步分析:

a)尝试从yum获取libclntsh.so 库文件,并尝试从7版本上看是哪个软件包提供的
发现8的yum源里面并不包含oracle-instantclient-basic这个软件包
b)尝试看报错提示里面的网址,找到对应软件包的下载路径,注意操作系统版本,这是64位Centos 8
https://www.oracle.com/database/technologies/instant-client/linux-x86-64-downloads.html
c)安装软件包后,正常运行
d)参考文档地址:
https://oracle.github.io/odpi/doc/installation.html#linux

总结:

a)操作系统跨大版本迁移要多测试,发现报错要先尝试复现,缩小问题范围
b)对于比较完善的Python库的错误提示,要重视,里面可能会提供较好的解决方式

你可能感兴趣的:(运维,异常与报错,实用类,oracle,数据库,运维,python)