天天看點

liunx python3連接配接oracle

一、參考連結:

真的是找遍了部落格,要搞吐了才搞定。

二、背景:

在linux伺服器上,使用python3連接配接oracle

linux 版本 centos 6.5  x86_64   64位的

python3.7

三 、安裝

3.1 安裝 instantclient

1、下載下傳 instantclient-basic-linux.x64-12.2.0.1.0.zip

下載下傳位址:

​​Instant Client for Linux x86-64 (64-bit)​​

liunx python3連接配接oracle

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      

3.2  安裝 cx_Oracle==8.3.0

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腳本會報錯。

During handling of the above exception (DPI-1047: Cannot locate a 64-bit Oracle Client library: "/lib64/libc.so.6: version `GLIBC_2.17' not found (required by /opt/oracle/instantclient/lib/libclntsh.so)". See https://cx-oracle.readthedocs.io/en/latest/user_guide/installation.html for help), another exception occurred: