当前位置: 首页 > 图文教程 > 数据库 > Oracle > 如何在Python下连接Oracle数据库

Oracle
Oracle数据库处理时间的技巧
Oracle数据库重复数据删除的三种情况
Oracle和SQL Server分析挖掘函数
Oracle数据库备份与恢复(6):LogMiner
Oracle数据库备份与恢复(5):Flashback
Oracle数据库备份与恢复(4):RMAN(备份与恢复管理器)
Oracle数据库备份与恢复(3):OS备份和用户管理
Oracle数据库备份与恢复(2):SQL*Loader
Oracle数据库备份与恢复(1):exp和imp
Oracle数据库文件恢复与备份思路
Oracle中利用EXP/IMP工具实现数据迁移
Oracle中Exp/Imp大量数据处理
ORACLE的外连接
sqlserver与oracle的区别
SQLite数据库最适合做网站内容管理系统(CMS)
网站主机教程(7):网站主机的数据库技术
Oracle10G认证考试自2008年12月1日变化
什么是Oracle?oracle认证种类介绍
MSSQL数据库镜像在Oracle中是如何实现的
Oracle数据库维护中的前瞻性

如何在Python下连接Oracle数据库


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-31   浏览: 68 ::
收藏到网摘: n/a

【1】首先下载驱动:(cx_Oracle)
http://www.python.net/crew/atuining/cx_Oracle/
不过要注意一下版本,根据你的情况加以选择。
【2】安装:
执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到{PYTHON_HOME}\Lib\site-packages目录下。
【3】执行一段测试程序:
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来配置。
【4】具体的cx_Oracle API可以参考:
http://www.python.net/crew/atuining/cx_Oracle/html/cx_Oracle.html

好了,执行那段测试代码时你肯定遇到问题了,一般会有以下问题:
【1】import cx_Oracle 时报告找不到OCI.DLL:
到装了Oracle的机器上找一个,然后copy到{PYTHON_HOME}\Lib\site-packages目录下就可以了。
【2】cx_Oracle.connect 时报告RuntimeError: Unable to acquire Oracle environment handle:
这个比较麻烦,按以下步骤来解决:(可能不需要所有的步骤,我没有确认,不过把以下步骤都执行了,确实问题就解决了)
首先,确认你是在控制台下边来执行这个python脚本的。而不是某些ide,例如:PyDev(它们似乎无法载入os的环境变量)。
其实,在本机安装Oracle(只安客户端工具就可以了)。
最后,添加以下环境变量:(我给出我的,换成你自己的路径就可以了)
ORACLE_HOME=D:\Oracle\Ora81
PATH=D:\Oracle\Ora81\bin;{your_other_paths}

完成