«

»

Python访问Oracle数据库的方法

python cx_oracle oracle终于有时间来安装Python访问Oracle的模块。在网上搜索,使用最多的大约是cx_Oracle这个模块。 下载链接http://cx-oracle.sourceforge.net。其实Python中能操作Oracle的并非只有这个模块,比如以前操作Sybase所用的那个模块,其实可以支持多种数据库,并且也是满足Python的db api规范的,但目前显然还是cx_Oracle使用最广,网上Python访问Oracle用的大多是这个包。

cx_Oracle模块支持Oracle 10.2, 11.1 and 11.2,在win及cen os下有二进制安装包。本人环境为rhel 5.5,python 2.7.3,oracle 11.2.0.3.0,所以还是自己编译一下更安全。

下载最新源码包,当前是7月份的5.1.2版本,将tar.gz文件上传至用户目录下,解压缩解包。进去查看build.txt文件,发现这个包的编译安装还是非常简单的。主要是要求编译用户要设置ORACLE_HOME和LD_LIBRARY_PATH两个环境变量,对于oracle开发用户,这两个变量显然是必备的。

直接执行:

OK编译成功,生成了cx_Oracle.so

然后安装

于是报没有权限错误了,因为需将cx_Oracle.so写入系统目录下。

只得换root用户来编译安装。改动root用户的.bash_profile太麻烦,在root用户下直接执行export  ORACLE_HOME=xxx和export LDXXXXX两命令加入环境变量,然后进行源码目录下执行build和install,OK都成功了。

在root用户下在python解释环境中执行:

OK没有报错,证实成功了。

换至自己开发用户目录下,在Pyhon中执行 import cx_Oracle,oh no ,报错,提示找不到模块。

自己还不是太明白python中第三方模块的路径查找原理,不管,先切回root用户,搜索cx_Oracle.so文件

发现处于/usr/local/lib/python2.7/site-packages下,查看此.so文件权限,为660,这样第三方用户如何执行呢?chmod 777该 文件,然后回到开发用户下,再执行import cx_Oracle,OK成功了。

再测试一下连接:

成功

显示:

11.2.0.3.0

OK证实连接成功了。

1 星2 星3 星4 星5 星 (尚无评分)
Loading...Loading...

相关文章

kivy中如何取得Android手机的sdcard位置? 用Kivy框架写个Android程序,要操作sdcard上的文件,问题是,Android各家随意定制,机型众多,如何取得...
Kivy编译成apk后在Android手机上的日志位置 在电脑上写好一个kivy程序,编译成apk后拷至手机,运行,出现kivy启动界面,随即退出。怎么查找错误原因...
Ubuntu 12.10的VMware虚拟机中连接Android手机调试 用kivy框架开发python for android程序时,由于kivy的显示依赖于opengl es图形库,而开发环境虚拟机(Ub...
Win版本php5的安装 当前php5最新版本是5.4.6,但这版本只有zip压缩包,虽然使用并无问题,但win下还是喜欢msi安装文件。5.3...
嵌入式Python中引用Pro *C主程序中建立的数据库链接 Python之所以被称为“胶水语言”,是因为它与其它语言之间良好的互操作性。可以在Python中方便的调用其它...
cx_Oracle的简单连接测试例子 cx_Oracle是一个Python的扩展模块,用于连接Oracle数据库,并遵守Python数据库API规范2.0版本。其开发已...
Python的SWIG,ctypes等与C的互操作性 在许多情况下,Python能够调用C模块或者C里面调用Python解释器是非常有用的,语言之间取长补短有助于更...
PyDev安装及Remote Systems Explorer的安装 在RHEL 5.5上开发Python程序,UE自带Python的语法高亮,本来也足够用了。用UE的ftp功能远程编辑RHEL上的...

发表评论

电子邮件地址不会被公开。