Python 使用 cx_Oracle 教程

免费分享超过1000本计算机类电子书,包含编程语言、大数据、机器学习、校招面试经验等

(https://github.com/xiaoleetongxue/csbooks)

cx_Oracle的使用需要调用Oracle环境,因此需要安装Oracle客户端(推荐oracle instantclient)
官网地址:http://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html

一、 Windows环境

####1.下载Windows的即时客户端

官网下载:http://www.oracle.com/technetwork/topics/winx64soft-089540.html

下载安装包:
instantclient-basic-windows.x64-11.2.0.4.0
instantclient-sdk-windows.x64-11.2.0.4.0
instantclient-sqlplus-windows.x64-11.2.0.4.0

####2.安装instantclient
a.解压在同一个目录下
b.配置环境变量 E:\software\instantclient_11_2
c.测试sqlplus

E:\software\instantclient_11_2>sqlplus.exe username/password@//host:port/sid
SQL> select * from database."tablename";

####3.安装cx_Oracle

pip install cx_Oracle==5.3

报错:
error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27
打开 http://aka.ms/vcpython27    下载

报错:
InterfaceError: Unable to acquire Oracle environmen
将oracle目录下的几个dll文件copy到python site-package目录下

####4.测试cx_Oracle

>>> import cx_Oracle
>>> conn = cx_Oracle.connect(username, password, host:port/sid)
>>> result = conn.cursor().execute("SELECT * FROM TABLE")
>>> for item in result:
...     print item

>>> conn.close()
>>> exit()

###二、Linux环境
####1.下载Linux的即时客户端
官网下载:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

下载安装包:
(1)zip安装
instantclient-basic-linux.x64-11.2.0.4.0.zip
instantclient-sdk-linux.x64-11.2.0.4.0.zip
instantclient-sqlplus-linux.x64-11.2.0.4.0.zip

####2.安装instantclient

解压三个文件到同一个目录下

unzip instantclient-basic-linux.x64-11.2.0.4.0.zip -d /software/
unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip -d /software/
unzip instantclient-sqlplus-linux.x64-11.2.0.4.0.zip -d /software/

####3.配置监听文件
/software/instantclient_11_2/network/admin要自己创建,包括tnsnames.ora文件
$ORACLE_HOME/network/admin/tnsnames.ora

ORCL =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = XXXX)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = orcl)
    )
  )

####4.配置环境变量

# vim /etc/profile #文件尾部添加
export ORACLE_HOME=/software/oracle/instantclient_12_2
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
export  TNS_ADMIN=$ORACLE_HOME/network/admin  # 安装了sqlplus 要设置监听
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK    # 设置编码集

PATH = $ORACLE_HOME:...
# source /etc/profile

####5.设置软连接

cd /software/instantclient_11_2/
ln -s libclntsh.so.11.1 libclntsh.so

####6.安装cx_Oracle

pip install cx_Oracle==5.3

####7.测试cx_Oracle

(venv) [root@localhost /]# python
>>> import cx_Oracle
>>> print cx_Oracle.version
5.3
>>> exit()

免费分享超过1000本计算机类电子书,包含编程语言、大数据、机器学习、校招面试经验等

(https://github.com/xiaoleetongxue/csbooks)

有问题可以联系我

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值