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 开发Activex组件方法
Nov 08 Python
python批量设置多个Excel文件页眉页脚的脚本
Mar 14 Python
Python扩展内置类型详解
Mar 26 Python
Python实现合并两个列表的方法分析
May 28 Python
Python多线程原理与用法详解
Aug 20 Python
selenium+python自动化测试之使用webdriver操作浏览器的方法
Jan 23 Python
Django框架实现分页显示内容的方法详解
May 10 Python
Django models.py应用实现过程详解
Jul 29 Python
基于Python检测动态物体颜色过程解析
Dec 04 Python
浅谈pytorch中的BN层的注意事项
Jun 23 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
Sep 29 Python
如何利用Python给自己的头像加一个小国旗(小月饼)
Oct 02 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 strtotime函数用法、实现原理和源码分析
2015/02/04 PHP
php中动态变量用法实例
2015/06/10 PHP
动态刷新 dorado树的js代码
2009/06/12 Javascript
javascript常用的正则表达式实例
2014/05/15 Javascript
JavaScript设计模式之代理模式介绍
2014/12/28 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
2015/06/08 Javascript
Javascript基础之数组的使用
2016/05/13 Javascript
JS实现京东首页之页面顶部、Logo和搜索框功能
2017/01/12 Javascript
BootStrap select2 动态改变值的方法
2017/02/10 Javascript
jQuery插件zTree实现的多选树效果示例
2017/03/08 Javascript
Vue项目从webpack3.x升级webpack4不完全指南
2019/04/28 Javascript
小程序实现悬浮搜索框
2019/07/12 Javascript
vue使用svg文件补充-svg放大缩小操作(使用d3.js)
2020/09/22 Javascript
原生js中运算符及流程控制示例详解
2021/01/05 Javascript
python语言使用技巧分享
2016/05/31 Python
Python科学计算之NumPy入门教程
2017/01/15 Python
Django日志模块logging的配置详解
2017/02/14 Python
Python中工作日类库Busines Holiday的介绍与使用
2017/07/06 Python
详解python调用cmd命令三种方法
2019/07/08 Python
Python tkinter三种布局实例详解
2020/01/06 Python
python opencv 图像边框(填充)添加及图像混合的实现方法(末尾实现类似幻灯片渐变的效果)
2020/03/09 Python
Python虚拟环境的创建和包下载过程分析
2020/06/19 Python
生物有机护肤品:Aurelia Probiotic Skincare
2018/01/31 全球购物
网上蛋糕店创业计划书
2014/01/24 职场文书
《寓言两则》教学反思
2014/02/27 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
党支部创先争优承诺书
2014/08/30 职场文书
2015年班组建设工作总结
2015/05/13 职场文书
告知书格式
2015/07/01 职场文书
网络安全倡议书(3篇)
2019/09/18 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
励志正能量20句:送给所有为梦想拼搏的人
2019/11/11 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript
JavaScript实例 ODO List分析
2022/01/22 Javascript
详解Python中*args和**kwargs的使用
2022/04/07 Python
使用refresh_token实现无感刷新页面
2022/04/26 Javascript