Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1051276
  • 博文数量: 171
  • 博客积分: 55
  • 博客等级: 民兵
  • 技术积分: 2077
  • 用 户 组: 普通用户
  • 注册时间: 2012-01-04 10:11
个人简介

pugna

文章分类

全部博文(171)

文章存档

2021年(4)

2020年(1)

2019年(4)

2018年(5)

2017年(7)

2016年(9)

2015年(36)

2014年(8)

2013年(96)

2012年(1)

分类: Oracle

2013-09-24 23:03:12

查看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 ~]$

测试成功。


阅读(4292) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~