ubuntu下安装cx_Oracle
原文地址:http://programmerdigest.cn/2012/03/1190.html

第一步、下载安装cx_Oracle

从sourceforge.net下载cx_Oracle的rmp安装文件,注意下载版本最好和Oracle、Python环境保持一致,我当前的环境是Oracle 11g和Python2.7,因此下载的是cx_Oracle-5.1.1-11g-py27-1.x86_64rpm。

下载地址:http://sourceforge.net/projects/cx-oracle/files/5.1.2/

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

第二步、下载安装Oracle instant client

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

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

应该有5个文件:


    laonan@parallels-Parallels-Virtual-Platform:/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

最后、测试一下


$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/oracle-instantclient11.2/lib
$ python
>>>import cx_Oracle
>>>conn = cx_Oracle.connect(’test/testpw@192.168.1.100:1521/mySid’)
>>>cursor = conn.cursor()
>>>cursor.execute(”SELECT to_char(sysdate,’yyyy-mm-dd’) from dual”)
>>>row = cursor.fetchone()
>>>print “result: “, row

补充,配置环境变量。


  $ cd ~
  $ sudo vim .bashrc

把 export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/oracle-instantclient11.2/lib 这行放在里面,done.

For example, "name@something.com". If someone replies to you it will be via email.
For example, "http://someaddress.com"