第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版本驅動路徑