CentOS6.3上搭建Python3.3访问Oracle 11gR2的环境
查看CentOS自带的python路径和版本
[root@oracle11g ~]# which python
/usr/bin/python
[root@oracle11g ~]# python -V
Python 2.6.6
下载python3.3的源码包()进行安装
tar -xvjf Python-3.3.2.tar.bz2
cd Python-3.3.2
./configure --prefix='/usr/local'
make && make install
设置python3的路径
ln -s /usr/local/bin/python3.3 /usr/bin/python3
这里不替换原2.6版本的python,因为yum依赖2.6版本的python。如果要替换,需要更改yum文件。为了稳妥起见,用python3表示python3.3的程序。
python访问Oracle一般使用一个叫cx_Oracle的python扩展模块()。cx_Oracle再通过OCI来访问Oracle。这里的系统环境中,Oracle用户下已经安装好了Oracle客户端,且环境变量已经配置好。
选择下载最新版的源码包进行安装
tar -zxvf cx_Oracle-5.1.2.tar.gz
cd cx_Oracle-5.1.2
python3 setup.py build
python3 setup.py install
使用Oracle用户进行测试cx_Oracle模块
[root@oracle11g ~]# su - oracle
[oracle@oracle11g ~]$ python3
Python 3.3.2 (default, Sep 24 2013, 21:31:35)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-3)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cx_Oracle
>>> print(cx_Oracle.version)
5.1.2
>>> quit();
说明cx_Oracle已经安装成功。
再使用Oracle用户测试连接数据库进行查询
[oracle@oracle11g ~]$ cat testpy.py
#! /usr/bin/env python3
import cx_Oracle
# connect via SQL*Net string or by each segment in a separate argument
#connection = cx_Oracle.connect("user/password@TNS")
connection = cx_Oracle.connect("scott", "tiger", "V_ORCLDB")
cursor = connection.cursor()
cursor.execute("""
select sysdate col_test
from dual""")
for col_test in cursor:
print ("Sysdate:", col_test)
[oracle@oracle11g ~]$ python3 testpy.py
Sysdate: (datetime.datetime(2013, 9, 24, 23, 1, 20),)
[oracle@oracle11g ~]$
测试成功。
下面关于Python的文章您也可能喜欢,不妨看看:
Ubuntu 14.04 下安装使用Python rq模块
《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版]