电脑技术学习

如何在Python下连接Oracle数据库

dn001

  【1】首先下载驱动:(cx_Oracle)
http://www.python.net/crew/atuining/cx_Oracle/
不过要注重一下版本,根据你的情况加以选择。
【2】安装:
执行那个exe安装程序就可以了,它会copy一个cx_Oracle.pyd到{PYTHON_HOME}Libsite-packages目录下。
【3】执行一段测试程序: 如何在Python下连接Oracle数据库 import;cx_Oracle
如何在Python下连接Oracle数据库
如何在Python下连接Oracle数据库con;=;cx_Oracle.connect(;"xjtu_test",;"37343734","xjtu.world")
如何在Python下连接Oracle数据库cursor;=;con.cursor()
如何在Python下连接Oracle数据库cursor.close()
如何在Python下连接Oracle数据库con.close()
如何在Python下连接Oracle数据库
里边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}Libsite-packages目录下就可以了。
【2】cx_Oracle.connect 时报告RuntimeError: Unable to acquire Oracle environment handle:
这个比较麻烦,按以下步骤来解决:(可能不需要所有的步骤,我没有确认,不过把以下步骤都执行了,确实问题就解决了)
首先,确认你是在控制台下边来执行这个python脚本的。而不是某些ide,例如:PyDev(它们似乎无法载入os的环境变量)。
其实,在本机安装Oracle(只安客户端工具就可以了)。
最后,添加以下环境变量:(我给出我的,换成你自己的路径就可以了)
ORACLE_HOME=D:OracleOra81
PATH=D:OracleOra81bin;{your_other_paths} 完成

标签: