微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cx_Oracle安装教程

简介

cx_Oracle是用python连接oracle的驱动模块.

下载安装包

  • cx_Oracle-5.1-10g-py27-1.x86_64.rpm下载
  • oracle-instantclient-basic-10.2.0.3-1.x86_64.rpm下载
  • oracle-instantclient-devel-10.2.0.3-1.x86_64.rpm下载

安装

  1. 因为我机器安装了两个版本的python,所以安装cx_Oracle的时候指定的安装目录,如只有一个版本,可不指定:
    rpm -ivh –prefix=/usr/local/python2.7.13/ cx_Oracle-5.1-10g-py27-1.x86_64.rpm
  2. rpm -ivh oracle-instantclient-basic-10.2.0.3-1.x86_64.rpm
  3. rpm -ivh oracle-instantclient-devel-10.2.0.3-1.x86_64.rpm

配置环境变量

修改当前用户~/.bash_profile文件,末尾添加如下信息:

export ORACLE_HOME=/usr/lib/oracle/10.2.0.3/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin

后执行source ~/.bash_profile

验证

输入python后,进入python编辑命令行,输入如下代码
import cx_Oracle
若无异常则说明安装成功

附录

连接和关闭

db=cx_Oracle.connect('user','pwd','address:port/service_name')
print db.version
db.close()
db=cx_Oracle.connect('user/pwd@address:port/service_name')
print db.version
db.close()
tns=cx_Oracle.makedsn('tnsname',port,'service_name')
db=cx_Oracle.connect('user',tns)
print tns
print db.version
db.close()

执行sql

tns=cx_Oracle.makedsn('tnsname',tns) --创建连接
cr=db.cursor()  --创建cursor
sql='select * from phone'
cr.execute(sql)  --执行sql 语句
print "\nThis is Fetchall!"
rs=cr.fetchall()  --一次返回所有结果集
print "print all:(%s)" %rs
print "\n print by row:"
for x in rs:
    print x
print "\nThis is Fetone!"
cr.execute(sql)
while(1):
    rs=cr.fetchone()  --一次返回一行
    if rs ==None:break
    print rs
--使用参数查询
print "\n select with parameter:"
pr={'id':3,'tel':13888888888}
cr.execute('select * from phone where id=:id or phone=:tel',pr)
--这里我们将参数作为一个字典来处理的
rs=cr.fetchall()
print rs
cr.execute('select * from phone where id=:myid or phone=:myphone',myid=2,myphone=13888888888)
--这里我们直接写参数
rs=cr.fetchall()
print rs
cr.close()
db.close()

参考

Python 连接 Oracle 示例
cx_Oracle安装说明

原文地址:https://www.jb51.cc/oracle/208794.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐