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使用自定义user-agent抓取网页的方法
Apr 15 Python
探究python中open函数的使用
Mar 01 Python
python简单实现获取当前时间
Aug 27 Python
深入理解NumPy简明教程---数组1
Dec 17 Python
对python opencv 添加文字 cv2.putText 的各参数介绍
Dec 05 Python
Python学习笔记之抓取某只基金历史净值数据实战案例
Jun 03 Python
python3实现微型的web服务器
Sep 03 Python
PyCharm配置anaconda环境的步骤详解
Jul 31 Python
如何利用python之wxpy模块玩转微信
Aug 17 Python
Python descriptor(描述符)的实现
Nov 15 Python
利用Opencv实现图片的油画特效实例
Feb 28 Python
python如何利用cv2.rectangle()绘制矩形框
Dec 24 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使用curl存储cookie的示例
2014/03/31 PHP
php过滤html中的其他网站链接的方法(域名白名单功能)
2014/04/24 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
jQuery EasyUI API 中文文档 - Calendar日历使用
2011/10/19 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
jquery统计输入文字的个数并对其进行判断
2014/01/07 Javascript
jQuery控制的不同方向的滑动(向左、向右滑动等)
2014/07/18 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
Javascript中神奇的this
2016/01/20 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
element-ui upload组件多文件上传的示例代码
2018/10/17 Javascript
支付宝小程序tabbar底部导航
2018/11/06 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
[57:12]完美世界DOTA2联赛循环赛 Inki vs Matador BO2第一场 10.31
2020/11/02 DOTA
[01:36:17]DOTA2-DPC中国联赛 正赛 Ehome vs iG BO3 第一场 1月31日
2021/03/11 DOTA
Python实现获取网站PR及百度权重
2015/01/21 Python
十条建议帮你提高Python编程效率
2016/02/16 Python
Python各类图像库的图片读写方式总结(推荐)
2018/02/23 Python
python 判断网络连通的实现方法
2018/04/22 Python
Python之dict(或对象)与json之间的互相转化实例
2018/06/05 Python
Python 线性回归分析以及评价指标详解
2020/04/02 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
python-图片流传输的思路及示例(url转换二维码)
2020/12/21 Python
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
加拿大最大的箱包及旅游配件零售商:Bentley Leathers
2017/07/19 全球购物
L’urv官网:精品女性运动服品牌
2019/07/07 全球购物
Belstaff英国官方在线商店:Belstaff.co.uk
2021/02/09 全球购物
Bitiba意大利:在线宠物商店
2020/10/31 全球购物
幼师自荐信范文
2013/10/06 职场文书
护士实习自我鉴定
2013/10/22 职场文书
双语教学实施方案
2014/03/23 职场文书
劳资协议书范本
2014/04/23 职场文书
建筑安全标语
2014/06/07 职场文书
文明单位汇报材料
2014/12/24 职场文书
详解Laravel制作API接口
2021/05/31 PHP