第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版本驱动路径