真的是找遍了博客,要搞吐了才搞定。
在linux服务器上,使用python3连接oracle
linux 版本 centos 6.5 x86_64 64位的
python3.7
1、下载 instantclient-basic-linux.x64-12.2.0.1.0.zip
下载地址:
Instant Client for Linux x86-64 (64-bit)

2、在opt下新建oracle文件
- mkdir -p /opt/oracle
- cd /opt/oracle
3、将 instantclient-basic-linux.x64-12.2.0.1.0.zip 放到oracle文件下
a、将 instantclient-basic-linux.x64-12.2.0.1.0.zip 放到oracle文件下
b、解压
unzip instantclient-basic-linux.x64-12.2.0.1.0.zip
建立连接,依次执行下面命令就可以了
- cd /opt/oracle/instantclient_12_2
- ln -s libclntsh.so.12.1 libclntsh.so
- ln -s libocci.so.12.1 libocci.so
- sudo sh -c "echo /opt/oracle/instantclient_12_2 > /etc/ld.so.conf.d/oracle-instantclient.conf"
-
sudo ldconfig
pip3 install cx_Oracle==8.3.0
-----------------------------这就可以用了-----------------------------
4.1 cx_Oracle.DatabaseError: ORA-24454: 客户机主机名未设置
一行指令解决
sudo /bin/bash -c "echo '127.0.1.1 ${HOSTNAME}' >> /etc/hosts"
当未安装instantclient时,执行python脚本会报错。
提示你按照 https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html
这个连接去解决,我试了半天这个连接里面的方法,都没搞定,最后用我这个博客搞定了。
我猜测肯定是版本问题,最后用12的版本搞定了。