本文实例讲述了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:Python27Libsite-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. (此处参考http://www.zzvips.com/article/105726.html)
设置环境变量
1
|
vi /root/ .bash_profile |
增加如下两行:
1
2
|
export ORACLE_HOME = / usr / local / instantclient_10_2 export LD_LIBRARY_PATH = $LD_LIBRARY_PATH:$ORACLE_HOME |
运行source /root/.bash_profile使改动生效
建立此链接库的符号链接
1
2
|
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参数
测试:
1
2
3
4
5
6
7
8
9
10
11
12
|
#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程序设计有所帮助。