云服务器部署安装cx_Oracel(python脚本直接连接oracle数据库)

python连接oracle数据库
需要安装64位的cx-Oracle包,安装步骤如下:
oracle账户:
1、安装cx_Oracle安装包
[root@localhost]pip install cx_Oracle
Requirement already satisfied: cx_Oracle in /usr/local/python3/lib/python3.6/site-packages (8.3.0)
2、安装oracle64位客户端
这里我们打算安装Oracle Instant Client,可以去下面官方网址选择正确的、所需的版本。本次实验,我选择了instantclient-basic-linux.x64-11.2.0.4.0.zip(本机安装压缩包在D:/Linux/Oracle)
安装过程简单如下:
(1)解压到指定目录
mkdir -p /opt/oracle cd /opt/oracle/ mv instantclient-basic-linux.x64-11.2.0.4.0.zip  /opt/oracle/
yum install unzip unzip instantclient-basic-linux.x64-11.2.0.4.0.zip
(2)在操作系统安装libaio package,否则有可能在运行python脚本时遇到错误提示“ImportError: libaio.so.1: cannot open shared object file: No such file or directory”
yum install libaio
注意:这个不是必须的,有些情况下会遇到这个错误。
(3)将Instant Client永久添加到运行时链接路径
sudo sh -c "echo /opt/oracle/instantclient_11_2  > /etc/ld.so.conf.d/oracle-instantclient.conf" sudo  ldconfig #
 
或者将环境变量LD_LIBRARY_PATH设置为Instant Client版本的相应目录:
# echo $LD_LIBRARY_PATH /usr/local/hadoop/lib/native 在/etc/profile中加入 export LD_LIBRARY_PATH=/opt/oracle/instantclient_11_2:$LD_LIBRARY_PATH # source /etc/profile # echo $LD_LIBRARY_PATH /opt/oracle/instantclient_11_2:/usr/local/hadoop/lib/native mkdir -p /opt/oracle/instantclient_11_2/network/admin
 
其它平台的安装(或者RPM安装), 官方文档https://oracle.github.io/odpi/doc/installation.html#linux 有详细介绍,这里就不画蛇添足。 RPM的安装也很简单,如下所示
#rpm -ivh oracle-instantclient19.3-basic-19.3.0.0.0-1.x86_64.rpm  Preparing...                ########################################### [100%]    1:oracle-instantclient19.########################################### [100%]
 
总结:需要注意的是,安装是必须版本一致:cx_Oracle、Oracle Client、Python最好一致,否则就会出现很多问题,例如下面这些(学习、测试中遇到的错误):
- 1:cx_Oracle 报错:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2
- 2:cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "/lib64/libc.so.6: version `GLIBC_2.14' not found (required by /usr/lib/oracle/19.3/client64/lib/libclntsh.so)". See https://oracle.github.io/odpi/doc/installation.html#linux for help
 
 

posted @ 2022-01-12 16:58  The-Chosen-One  阅读(335)  评论(0编辑  收藏  举报