简单说明:
需要安装cx_Oracle模块,可以使用pip安装或者使用rpm包安装
需要安装对应Python版本且对应Oracle版本的cx_Oracle模块
常用的几个RPM包下载URL如下:
http://rpmfind.net/linux/sourceforge/c/cx/cx-oracle/5.1.2/cx_Oracle-5.1.2-11g-py24-1.x86_64.rpm
http://rpmfind.net/linux/sourceforge/c/cx/cx-oracle/5.1.2/cx_Oracle-5.1.2-10g-py26-1.x86_64.rpm
http://rpmfind.net/linux/sourceforge/c/cx/cx-oracle/5.1.2/cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm
http://rpmfind.net/linux/sourceforge/c/cx/cx-oracle/5.1.2/cx_Oracle-5.1.2-10g-py27-1.x86_64.rpm
http://rpmfind.net/linux/sourceforge/c/cx/cx-oracle/5.1.2/cx_Oracle-5.1.2-11g-py27-1.x86_64.rpm
http://rpmfind.net/linux/sourceforge/c/cx/cx-oracle/5.1.2/cx_Oracle-5.1.2-11g-py33-1.x86_64.rpm
需要Oracle对应版本的客户端包:instantclient-basic-linux
模块安装,脚本简录:
# 解压复制Oracle11g的对应模块文件
cd /tmp
unzip instantclient-basic-linux.x64-11.2.0.4.0.zip
cp -av instantclient_11_2/*.so* /lib64/
# 下载安装和Oracle客户端对应版本的且和Python版本相对应的cx_Oracle包
axel 'http://rpmfind.net/linux/sourceforge/c/cx/cx-oracle/5.1.2/cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm'
yum -y localinstall /tmp/cx_Oracle-5.1.2-11g-py26-1.x86_64.rpm
cat >/tmp/test.py<<EOF
#!/usr/bin/python
# coding:utf-8
import cx_Oracle
User = raw_input("User: ")
Pass = raw_input("Pass: ")
IP = raw_input("IP: ")
Port = raw_input("Port: ")
Sid = raw_input("Sid: ")
Str = User + '/' + Pass + '@' + IP + ':' + Port + '/' + Sid
print (Str)
conn = cx_Oracle.connect(Str)
cursor = conn.cursor()
cursor.execute('select sysdate from dual connect by level<=10')
for row in cursor.fetchall():
print row
print cursor.rowcount
cursor.close()
conn .close()
EOF
python test.py
# 输入用户名密码、IP端口和SID
# 链接库,SQL查询
# 可以使用11g的客户端和对应版本的cx_Oracle连接10g库
[TOC]