linux環境中python連接oracle


第1章 安裝cx_Oracle模塊

安裝cx_Oracle須知:

首先安裝配置時,必須把握一個點,就是版本一致!

包括:系統版本,python版本,oracle客戶端的版本,cx_Oracle的版本,然后安裝配置就容易了!

1.1  查看Oracle的版本

SQL> select  * from  v$version;

1.2  查看python版本

[wonders@cm02 ~]$ source activate python36

(python36) [wonders@cm02 ~]$ python -V

Python 3.6.10 :: Anaconda, Inc.

1.3  安裝cx_Oracle模塊

(python36) [wonders@cm02 ~]$ python -m pip install -i http://pypi.douban.com/simple --trusted-host pypi.douban.com cx_Oracle

第2章 安裝 oracle客戶端

2.1  文件准備

oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

tnsnames.ora

以上文件存放在了/home/wonders/oracle 目錄下

2.2  安裝oracle客戶端

cd /home/wonders/oracle

$ sudo rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

$ sudo rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

2.3  創建文件夾network/admin

cd /usr/lib/oracle/11.2/client64

mkdir –r network/admin

vi tnsnames.ora

--DRG----多元線性回歸數據庫--------------------------------------------

DRG=

(DESCRIPTION =

(ADDRESS_LIST =

(ADDRESS = (PROTOCOL = TCP)(HOST = 10.1.93.225)(PORT = 1521))

)

(CONNECT_DATA =

(SERVICE_NAME = orcl)

)

)

2.4  配置oracle環境變量

1、vi /etc/profile

2、復制一下的代碼放到 profile文件中, wq 保存

export ORACLE_HOME=/usr/lib/oracle/11.2/client64

export TNS_ADMIN=$ORACLE_HOME/network/admin

##export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

export NLS_LANG=AMERICAN_AMERICA.AL32UTF8

export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib

export PATH=$ORACLE_HOME:$PATH

3、生效新環境變量,輸入下列命令

source /etc/profile

(4)測試數據庫連接

sqlplus disease/wonders@DRG

第3章 python連接oracle測試

3.1  執行語句

import os

import cx_Oracle

try:

conn=cx_Oracle.connect('disease/wonders@10.1.93.225:1521/orcl')

cur = conn.cursor() # 游標操作

sql="select * from tb_test_dic"

cur.execute(sql) # 執行sql語句

cases = cur.fetchall() # 獲取數據

except cx_Oracle.DatabaseError as e:

print(-1,e) 

3.2  錯誤信息libclntsh.so沒有找到

解決方法:

vim /etc/ld.so.conf

#末尾追加

/usr/lib/oracle/11.2/client64/lib #根據你安裝oracle版本驅動路徑


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM