本文實例講述了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.jfrwli.cn/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程序設計有所幫助。