这篇文章主要介绍了 python 安装 oracle 扩展及数据库连接方法, 较为详细的分析了 Python 下载 oracle 扩展及 Windows、Linux 环境下的安装步骤、操作技巧及注意事项, 需要的朋友可以参考下
Python 是一种面向对象、解释型计算机程序设计语言,由 Guido van Rossum 于 1989 年底发明,第一个公开发行版发行于 1991 年。Python 语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,它能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。
本文实例讲述了 python 安装 oracle 扩展及数据库连接方法。分享给大家供大家参考,具体如下:
下载:
cx_Oracle 下载地址:http://cx-oracle.sourceforge.net/
instantclient-basic 下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
window 环境:
python27 oracle10
需要软件:
cx_Oracle-5.1.2-10g.win32-py2.7.msi
instantclient-basic-win32-10.2.0.4.zip
1. 直接双击 msi 文件,即安装 cx_Oracle;
2. 解压 instantclient-basic-win32-10.2.0.4.zip,将得到的. dll 文件全部拷贝到 F:\Python27\Lib\site-packages 目录下
linux 环境:
python26 orracle10
需要软件:
cx_Oracle-5.1.2-10g-py26-1.x86_64.rpm
basic-10.2.0.4.0-linux-x86_64.zip
1. rpm -ivh cx_Oracle-5.1.2-10g-py26-1.x86_64.rpm
2. (此处参考 {aa0aa})
设置环境变量
- vi /root/.bash_profile
增加如下两行:
- export ORACLE_HOME=/usr/local/instantclient_10_2
- export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
运行 source /root/.bash_profile 使改动生效
建立此链接库的符号链接
- cd $ORACLE_HOME
- ln -s libclntsh.so.x.x libclntsh.so
重新安装 cx_Oracle
注意加 --nodeps 参数,否则还会报上述错误
[root@BJ-UPDATE-01 ~]# rpm -ivh --nodeps cx_Oracle-5.0.1-10g-py24-1.x86_64.rpm
#5.0.3 版本不用加 --nodeps 参数
测试:
- #Python
- >>> import cx_Oracle
- >>> db = cx_Oracle.connect('user/psw@114.242.113.91:1521/orcl')
- >>> print db
- <cx_Oracle.Connection to user@114.242.113.91:1521/orcl>
- >>> cr=db.cursor()
- >>> cr.execute("select * from LOGININFO")
- <__builtin__.OracleCursor on <cx_Oracle.Connection to user@114.242.113.91:1521/orcl>>
- >>> rs=cr.fetchall()
- >>> print rs
- [('40288a8542746fd90142746fdbb50001', 'cccccc', 1, 1, None, None, None), ('40288a85427474b601427474b8270001', 'eeee', 1, 1, None, None, None), ('40288a854273bce0014273bee6310002', 'dddddd', 0, 0, None, None, None), ('40288a854274532d014274532f600001', 'cccccc', 1, 1, None, None, None), ('40288a8542747c750142747c77ac0001', 'eeee', 1, 1, None, None, None), ('40288a8542744fb30142744fb5e90001', 'cccccc', 1, 1, None, None, None)]
- >>>
希望本文所述对大家 Python 程序设计有所帮助。
来源: http://www.phperz.com/article/17/0323/326299.html