ITPub博客

首页 > 数据库 > Oracle > Ubuntu12.10下Python(cx Oracle)访问Oracle解决方案

Ubuntu12.10下Python(cx Oracle)访问Oracle解决方案

Oracle 作者:sk0815 时间:2013-10-11 15:32:04 0 删除 编辑
第一步:下载安装cx_Oracle

下载地址:http://sourceforge.net/projects/cx-oracle/files/5.1.2/下载cx_Oracle的rmp安装文件,注意下载版本最好和Oracle、Python环境保持一致,我当前的环境是Oracle 11g和Python2.7,因此下载的是cx_Oracle-5.1.2-11g-py27-1.x86_64rpm。

不需按RPM方式去安装,直接解压从中取出cx_Oracle.so文件(只需要这个),复制到Python环境的dist-packages目录,我的机器是/usr/local/lib/python2.7/dist-packages/。

解压命令:


    >>rpm2cpio file.rpm | cpio -div    

第二步:下载安装Oracle instant client

下载地址:http://www.oracle.com/technetwork/indexes/downloads/index.html,从Database栏目的Instant Client链接进入,按当前系统选择对应的下载,我选择的是Instant Client for Linux x86-64

解压下载文件oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm ,路径很长实际上只需要其中的so共享库文件,将所有so文件复制到一个单独路径即可,我将他们复制到/opt/oracle-instantclient11.2/lib。

应该有5个文件:


    >>pwd
    /opt/oracle-instantclient11.2/lib

    >> ls
    libclntsh.so.11.1  libnnz11.so  libocci.so.11.1  libociei.so  libocijdbc11.so

 

第三步:检查并安装libaio1


  sudo apt-get install libaio1

 

第四步:配置环境变量


  >>cd ~
  >>sudo vim .bashrc

把 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/oracle-instantclient11.2/lib 这行放在里面,保存退出。

最后:测试一下


$ python
>>>import cx_Oracle
>>>conn = cx_Oracle.connect(’username/pwd@ip:port/servicename’)
>>>cursor = conn.cursor()
>>>...

一个简单应用:


#! /usr/bin/python
#coding=UTF-8

import cx_Oracle

def hello():
    '''Hello cx_Oracle示例:
    
    1)打印数据库版本信息.
    2)查询表数据.'''
    
    conn = cx_Oracle.connect("codomain/codomain@10.3.3.92:1521/oracle1")
    cur = conn.cursor()
    try:
        print "Oracle Version:%s" % conn.version
        print "Table test rows:"
        cur.execute('select * from test')
        for row in cur:
            print row
    finally:
        cur.close()
        conn.close()

hello()


原文参考网站:





<!-- 正文结束 -->

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26031462/viewspace-1117480/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2011-07-07