将python连接到oracle

kos*_*tas 6 python oracle cx-oracle

我已经安装了oracle客户端和oracle client-dev,并设置了ORACLE_HOME环境变量.然而,当我尝试安装tux_oracle(python setup.py build)时,我得到以下内容:致命错误:oci.h:没有这样的文件或目录

kos*_*tas 6

好吧,答案是安装cx_Oracle而不是tx_Oracle.在Ubuntu中这样做的方法如下:

  1. 您必须在PC中安装oracle客户端.如果没有从oracle下载http://www.oracle.com/technetwork/topics/linuxsoft-082809.html.
  2. 在您的PC中安装外星人,以便能够将rpm转换为deb:
sudo apt-get -i alien
  1. 将rpm转换为deb:
sudo alien -d oracle-instantclient11.2-sqlplus-11.2.0.2.0.i386.rpm
  1. 安装
    sudo dpkg -i oracle-instantclient11.2-basic_11.2.0.2.0-2_i386.deb
  2. 通过创建一个必须包含以下内容的文件oracle.sh,在/etc/profile.d中设置ORACLE_HOME环境变量:
export ORACLE_HOME=/usr/lib/oracle/11.2/client
source oracle.sh
  1. 更新LD_LIBRARY_PATH:
sudo vi /etc/ld.so.conf.d/oracle.conf which must contain:  
"$ORACLE_HOME/lib"
sudo ldconfig
  1. http://cx-oracle.sourceforge.net/下载并安装cx_Oracle(取决于您使用的oracle和python的版本). 再次使用alien将rpm转换为deb并安装:
sudo alien -d cx_Oracle-5.1-11g-py32-1.i386.rpm
sudo dpkg -i cx-oracle_5.1-2_i386.deb
  1. cx_Oracle安装在/usr/lib/python2.7/dist-packages/中.你必须这样做:sudo mv site-packages/cx_Oracle*dist-packages/sudo rmdir site-packages/sudo ln -s dist-packages site-packages

现在你应该没有问题连接到oracle.从python类型:

import cx_Oracle

要连接到数据库,请在tsnames.ora中指定连接字符串或直接:

connection_string = 'username/password@(DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1521))(CONNECT_DATA= (SID=MY_SID)))'


gec*_*cco 1

我正在使用cx_oracle连接到我的 Oracle 数据库。你尝试过吗?