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中的对象,方法,类,实例,函数用法分析
Jan 15 Python
Python实现统计英文单词个数及字符串分割代码
May 28 Python
python smtplib模块自动收发邮件功能(一)
May 22 Python
python人民币小写转大写辅助工具
Jun 20 Python
python实现在图片上画特定大小角度矩形框
Oct 24 Python
对python中list的拷贝与numpy的array的拷贝详解
Jan 29 Python
实现Python与STM32通信方式
Dec 18 Python
Python for循环与getitem的关系详解
Jan 02 Python
Python3之外部文件调用Django程序操作model等文件实现方式
Apr 07 Python
python连接mysql有哪些方法
Jun 24 Python
Python文件夹批处理操作代码实例
Jul 21 Python
人工智能深度学习OpenAI baselines的使用方法
May 20 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 搜索框提示(自动完成)实例代码
2012/02/05 PHP
页面中js执行顺序
2009/11/09 Javascript
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
jQuery 一个图片切换的插件
2011/10/09 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
一个仿糯米弹框效果demo
2014/07/22 Javascript
javascript去除空格方法小结
2015/05/21 Javascript
jquery实现表单验证简单实例演示
2015/11/23 Javascript
jQuery实时显示鼠标指针位置和键盘ASCII码
2016/03/28 Javascript
javascript事件处理模型实例说明
2016/05/31 Javascript
详解获取jq ul第一个li定位的四种解决方案
2016/11/23 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
学习使用Bootstrap页面排版样式
2017/05/11 Javascript
使用vue与jquery实时监听用户输入状态的操作代码
2017/09/19 jQuery
Vue项目组件化工程开发实践方案
2018/01/09 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
vuex 解决报错this.$store.commit is not a function的方法
2018/12/17 Javascript
layui清空,重置表单数据的实例
2019/09/12 Javascript
Vue数据双向绑定底层实现原理
2019/11/22 Javascript
python装饰器使用方法实例
2013/11/21 Python
python进行两个表格对比的方法
2018/06/27 Python
python 与服务器的共享文件夹交互方法
2018/12/27 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
Python 创建守护进程的示例
2020/09/29 Python
单身旅行者的单身假期:Just You
2018/04/08 全球购物
汉森冲浪板:Hansen Surfboards
2018/05/19 全球购物
New Balance加拿大官方网站:运动鞋和健身服装
2018/11/19 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
关于打架的检讨书
2014/01/17 职场文书
2014小学二年级班主任工作总结
2014/12/05 职场文书
团组织推优材料
2014/12/29 职场文书
五年级下册复习计划
2015/01/19 职场文书
婚礼必备主持词范本!
2019/07/23 职场文书
Netflix《海贼王》真人版剧集多张片场照曝光
2022/04/04 日漫