CentOS6.3上搭建Python3.3访问Oracle 11gR2的环境

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的源码包(http://www.python.org/ftp/python/3.3.2/Python-3.3.2.tar.bz2)进行安装
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扩展模块(http://cx-oracle.sourceforge.net/)。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的文章您也可能喜欢,不妨看看:

Python 的详细介绍:请点这里
Python 的下载地址:请点这里 

相关推荐