python连接oracle数据库实例


Posted in Python onOctober 17, 2014

本文实例讲述了python连接oracle数据库的方法,分享给大家供大家参考。具体步骤如下:

一、首先下载驱动:(cx_Oracle)

http://www.python.net/crew/atuining/cx_Oracle/
不过要注意一下版本,根据你的情况加以选择。

二、安装:

首先配置oracle_home环境变量
执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到Libsite-packages目录下。
如果是linux,执行

python setup.py build

python setup.py install

三、执行一段测试程序:

import cx_Oracle
con = cx_Oracle.connect( "xjtu_test", "37343734","xjtu.world")

cursor = con.cursor()

cursor.close()

con.close()

里边connect中的3个参数从左到右分别是:user, pass, TNS。
那个TNS可以用Oracle客户端工具中的Net Configuration Assistant来配置。

四、具体的cx_Oracle API可以参考:
http://www.python.net/crew/atuining/cx_Oracle/html/cx_Oracle.html

五、示例:

>>> import cx_Oracle

>>> conn=cx_Oracle.connect ('scott/tiger@oratest')

>>> curs=conn.cursor ()

>>> sql='select * from emp'

>>> rr=curs.execute (sql)

>>> row=curs.fetchone()

>>> row

(7369, 'SMITH', 'CLERK', 7902, datetime.datetime(1980, 12, 17, 0, 0), 800.0, None, 20)

>>> while row:

    (ID,NAME)=(row[0],row[1])

    row=curs.fetchone ()

    print ID,NAME
    

7369 SMITH

7499 ALLEN

7521 WARD

7566 JONES

7654 MARTIN

7698 BLAKE

7782 CLARK

7788 SCOTT

7839 KING

7844 TURNER

7876 ADAMS

7900 JAMES

7902 日常

7934 MILLER

如果使用windows平台,执行那段测试代码时你肯定遇到问题了,一般会有以下问题:

① import cx_Oracle 时报告找不到OCI.DLL:
到装了Oracle的机器上找一个,然后copy到Libsite-packages目录下就可以了。

② cx_Oracle.connect 时报告RuntimeError: Unable to acquire Oracle environment handle:
这个比较麻烦,按以下步骤来解决:(可能不需要所有的步骤,我没有确认,不过把以下步骤都执行了,确实问题就解决了)
首先,确认你是在控制台下边来执行这个python脚本的。而不是某些ide,例如:PyDev(它们似乎无法载入os的环境变量)。
其实,在本机安装Oracle(只安客户端工具就可以了)。
最后,添加以下环境变量:(我给出我的,换成你自己的路径就可以了)

ORACLE_HOME=D:OracleOra81

PATH=D:OracleOra81bin;

希望本文所述对大家的Python程序设计有所帮助。

Python 相关文章推荐
python 将数据保存为excel的xls格式(实例讲解)
May 03 Python
python获取中文字符串长度的方法
Nov 14 Python
Python当中的array数组对象实例详解
Jun 12 Python
Python中函数的返回值示例浅析
Aug 28 Python
Python numpy.zero() 初始化矩阵实例
Nov 27 Python
python实现指定ip端口扫描方式
Dec 17 Python
Python 简单计算要求形状面积的实例
Jan 18 Python
Python如何在DataFrame增加数值
Feb 14 Python
python3 实现口罩抽签的功能
Mar 11 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
python爬虫把url链接编码成gbk2312格式过程解析
Jun 08 Python
Python识别验证码的实现示例
Sep 30 Python
Python 检查数组元素是否存在类似PHP isset()方法
Oct 14 #Python
跟老齐学Python之Import 模块
Oct 13 #Python
跟老齐学Python之类的细节
Oct 13 #Python
python修改注册表终止360进程实例
Oct 13 #Python
Python原始字符串(raw strings)用法实例
Oct 13 #Python
python中__call__方法示例分析
Oct 11 #Python
python多重继承实例
Oct 11 #Python
You might like
PHP函数常用用法小结
2010/02/08 PHP
简单的pgsql pdo php操作类实现代码
2016/08/25 PHP
thinkPHP5.0框架安装教程
2017/03/25 PHP
一些常用的JS功能函数代码
2009/06/23 Javascript
小议Javascript中的this指针
2010/03/18 Javascript
Js基础学习资料
2010/11/23 Javascript
火狐下table中创建form导致两个table之间出现空白
2013/09/02 Javascript
jquery自定义下拉列表示例
2014/04/25 Javascript
一个html5播放视频的video控件只支持android的默认格式mp4和3gp
2014/05/08 Javascript
JS动态增加删除UL节点LI及相关内容示例
2014/05/21 Javascript
jQuery级联操作绑定事件实例
2014/09/02 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
jQuery中slideUp 和 slideDown 的点击事件
2015/02/26 Javascript
Javascript URI 解析介绍
2015/03/15 Javascript
JS拖拽插件实现步骤
2015/08/03 Javascript
AngularJS仿苹果滑屏删除控件
2016/01/18 Javascript
学习使用bootstrap基本控件(table、form、button)
2016/04/12 Javascript
javascript中去除数组重复元素的实现方法【实例】
2016/04/12 Javascript
Spring MVC中Ajax实现二级联动的简单实例
2016/07/06 Javascript
Bootstrap轮播图学习使用
2017/02/10 Javascript
JScript实现表格的简单操作
2017/08/15 Javascript
babel之配置文件.babelrc入门详解
2018/02/22 Javascript
详解JWT token心得与使用实例
2019/08/02 Javascript
ES6基础之数组和对象的拓展实例详解
2019/08/22 Javascript
vue2.x 通过后端接口代理,获取qq音乐api的数据示例
2019/10/30 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
[00:44]2016完美“圣”典 风云人物:Mikasa宣传片
2016/12/07 DOTA
在PyTorch中Tensor的查找和筛选例子
2019/08/18 Python
Django框架教程之中间件MiddleWare浅析
2019/12/29 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
青年文明号口号
2014/06/17 职场文书
承兑汇票转让证明怎么写?
2014/11/30 职场文书
品质保证书格式
2015/02/28 职场文书
战马观后感
2015/06/08 职场文书
龙猫观后感
2015/06/09 职场文书
法定代表人身份证明书
2015/06/18 职场文书