加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cx_Oracle安装教程

发布时间:2020-12-12 14:48:04 所属栏目:百科 来源:网络整理
导读:简介 下载安装包 安装 配置环境变量 验证 附录 连接和关闭 执行SQL 参考 简介 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-
    • 简介
    • 下载安装包
    • 安装
    • 配置环境变量
    • 验证
    • 附录
      • 连接和关闭
      • 执行SQL
      • 参考

简介

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安装说明

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读