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数据类型详解(四)字典:dict
May 12 Python
不可错过的十本Python好书
Jul 06 Python
解决python通过cx_Oracle模块连接Oracle乱码的问题
Oct 18 Python
selenium获取当前页面的url、源码、title的方法
Jun 12 Python
对Django中的权限和分组管理实例讲解
Aug 16 Python
softmax及python实现过程解析
Sep 30 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
pytorch使用horovod多gpu训练的实现
Sep 09 Python
python用700行代码实现http客户端
Jan 14 Python
提取视频中的音频 Python只需要三行代码!
May 10 Python
Python之基础函数案例详解
Aug 30 Python
使用Python开发冰球小游戏
Apr 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生成带logo二维码方法小结
2016/04/08 PHP
php 获取xml接口数据的处理方法
2018/05/31 PHP
laravel-admin 中列表筛选方法
2019/10/03 PHP
textarea的value是html文件源代码,存成html文件的代码
2007/04/20 Javascript
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
JS判断是否360安全浏览器极速内核的方法
2015/01/29 Javascript
jQuery中extend函数详解
2015/02/13 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
JavaScript性能优化之函数节流(throttle)与函数去抖(debounce)
2016/08/11 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
vue element动态渲染、移除表单并添加验证的实现
2019/01/16 Javascript
Vue+Express实现登录注销功能的实例代码
2019/05/05 Javascript
vue-devtools的安装和使用步骤详解
2019/10/17 Javascript
在python的WEB框架Flask中使用多个配置文件的解决方法
2014/04/18 Python
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
python3实现ftp服务功能(客户端)
2017/03/24 Python
对python中使用requests模块参数编码的不同处理方法
2018/05/18 Python
pandas数据清洗,排序,索引设置,数据选取方法
2018/05/18 Python
Python实现压缩文件夹与解压缩zip文件的方法
2018/09/01 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
使用Python3内置文档高效学习以及官方中文文档
2019/05/19 Python
pandas取出重复数据的方法
2019/07/04 Python
PyQt5通信机制 信号与槽详解
2019/08/07 Python
python爬虫-模拟微博登录功能
2019/09/12 Python
python如何快速拼接字符串
2020/10/28 Python
Pycharm安装第三方库失败解决方案
2020/11/17 Python
pandas使用函数批量处理数据(map、apply、applymap)
2020/11/27 Python
台湾深度自由行旅游平台:Tripbaa趣吧
2017/10/10 全球购物
MYPROTEIN澳大利亚官方网站:欧洲运动营养品牌
2019/06/26 全球购物
校园活动策划方案
2014/06/13 职场文书
护士求职信
2014/07/05 职场文书
推广活动策划方案
2014/08/23 职场文书
明星邀请函
2015/02/02 职场文书
村官个人总结范文
2015/03/03 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
利用Redis实现点赞功能的示例代码
2022/06/28 Redis