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 RuntimeError: thread.__init__() not called解决方法
Apr 28 Python
深入浅析python继承问题
May 29 Python
python对象及面向对象技术详解
Jul 19 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
Nov 11 Python
python sys,os,time模块的使用(包括时间格式的各种转换)
Apr 27 Python
Python用csv写入文件_消除空余行的方法
Jul 06 Python
Python3.5 Pandas模块缺失值处理和层次索引实例详解
Apr 23 Python
对Django中的权限和分组管理实例讲解
Aug 16 Python
wxPython电子表格功能wx.grid实例教程
Nov 19 Python
Tensorflow实现多GPU并行方式
Feb 03 Python
在TensorFlow中屏蔽warning的方式
Feb 04 Python
python实现简单学生信息管理系统
Apr 09 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生成随机密码的几种方法
2011/01/17 PHP
coreseek 搜索英文的问题详解
2013/06/08 PHP
PHP简单生成缩略图相册的方法
2015/07/29 PHP
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
php转换上传word文件为PDF的方法【基于COM组件】
2019/06/10 PHP
关于Laravel-admin的基础用法总结和自定义model详解
2019/10/08 PHP
laravel 之 Eloquent 模型修改器和序列化示例
2019/10/17 PHP
简单通用的JS滑动门代码
2008/12/19 Javascript
基于jQuery的星级评分插件
2011/08/12 Javascript
判断多个input type=file是否有已经选择好文件的代码
2012/05/23 Javascript
使用jquery自定义鼠标样式满足个性需求
2013/11/05 Javascript
jquery checkbox实现单选小例
2013/11/27 Javascript
JavaScript学习笔记之基础语法
2015/01/22 Javascript
IScroll5 中文API参数说明和调用方法
2016/05/21 Javascript
Bootstrap modal使用及点击外部不消失的解决方法
2016/12/13 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
基于Vue单文件组件详解
2017/09/15 Javascript
JavaScript实现像雪花一样的Hexaflake分形
2020/07/07 Javascript
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
python下setuptools的安装详解及No module named setuptools的解决方法
2017/07/06 Python
selenium python 实现基本自动化测试的示例代码
2019/02/25 Python
PyQt5的安装配置过程,将ui文件转为py文件后显示窗口的实例
2019/06/19 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
pytorch 实现查看网络中的参数
2020/01/06 Python
python使用python-pptx删除ppt某页实例
2020/02/14 Python
python传到前端的数据,双引号被转义的问题
2020/04/03 Python
关于python3.7安装matplotlib始终无法成功的问题的解决
2020/07/28 Python
澳大利亚运动鞋商店:Platypus Shoes
2019/09/27 全球购物
俄罗斯达美乐比萨外送服务:Domino’s Pizza
2020/12/18 全球购物
常务副总经理岗位职责
2015/02/02 职场文书
2015年关爱留守儿童工作总结
2015/05/22 职场文书
高中运动会广播稿
2015/08/19 职场文书
2019年员工晋升管理制度范本!
2019/07/08 职场文书
Python语法学习之进程的创建与常用方法详解
2022/04/08 Python
mysql使用FIND_IN_SET和group_concat两个方法查询上下级机构
2022/04/20 MySQL