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的源码包()进行安装
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的文章您也可能喜欢,不妨看看:

Linux下Python的安装以及注意事项 

Ubuntu 14.04 下安装使用Python rq模块 

无需操作系统直接运行 Python 代码 

CentOS上源码安装Python3.4 

《Python核心编程 第二版》.(Wesley J. Chun ).[高清PDF中文版]

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]

Python脚本获取Linux系统信息

在Ubuntu下用Python搭建桌面算法交易研究环境

Python 语言的发展简史

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

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/89b91b1b579ab5e5d3fa64c3467d8503.html