弄清版本,最重要!!!
首先安裝配置時,必須把握一個點,就是版本一致!包括:系統版本,python版本,oracle客戶端的版本,cx_Oracle的版本,然后安裝配置就容易了!
如果已經安裝Python,查看你安裝的Python版本是多少位的:
當然,你64位的操作系統也是可以安裝32位的開發環境。反之則不行!切記!
oracle客戶端的版本,cx_Oracle的版本,要與Python版本和位數對應:
比如:
Python版本:Python3.4.3 32位;
cx_Oracle的版本:cx_Oracle-5.2-11g.win32-py3.4
oracle客戶端的版本:instantclient-basic-win32-11.2.0.1.0;
這里還有三個注意點:
版本位數對應,都是32位;
cx_Oracle和python版本對應,都是3.4;
cx_Oracle和instantclient版本對應,都是11; 、
再次說明(別嫌我啰嗦,弄明白很重要):比如,我的系統是win7 64位,python版本卻是32位的,所以下載安裝的Oracle Client 也是32位 11g的,相應的cx_Oracle 也要是32位11g的,當然也要注意python的版,本python2.X還是python3.X,也要下相應的版本的。
這一點弄明白之后,我們就要准備安裝了。
cx_Oracle安裝
下載地址:https://pypi.python.org/pypi/cx_Oracle/5.3 下載低版本cx_Oracle版本 我是下載cx_Oracle-5.3-11g.win32-py3.6.exe,下載后直接雙擊安裝,就ok了。
不建議直接使用pip install cx_Oracle命令安裝,因為版本問題容易報錯。cx_Oracle 報錯:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2,這就是cx_Oracle版本太高引起的。
oracle 客戶端
下載地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
把下載的文件解壓,復制oci,oraocci11,oraociei11的3個DLL粘貼到你的PY目錄的Libs/site-packages文件夾下面。
python3.4連接oracle數據庫測試代碼:
1
2
3
4
5
6
7
8
9
10
|
import
cx_Oracle
conn
=
cx_Oracle.connect(
'用戶名/密碼@主機ip地址/orcl'
)
#用自己的實際數據庫用戶名、密碼、主機ip地址 替換即可
curs
=
conn.cursor()
sql
=
'SELECT * FROM 。。。'
#sql語句
rr
=
curs.execute (sql)
row
=
curs.fetchone()
print
(row[
0
])
curs.close()
conn.close()
|
配一個ORACLE_HOME的環境變量,指向Instant Client的目錄(如果你到這已經可以成功連接orcale數據庫了,環境變量這一步不執行也可以,視情況而定):
到自己想要放的路徑下,我的是C:\instantclient-basic-win32-11.2.0.1.0\instantclient_11_2
然后是配置環境變量:右鍵計算機——屬性——高級系統設置——環境變量——系統變量——新建
變量:ORACLE_HOME 值:Q:\OracleClient
變量:TNS_ADMIN 值:Q:\OracleClient
編輯path用';'隔開加一個 Q:\OracleClient
安裝結束,整個安裝過程非常簡單,也是我自己多次失敗的總結,希望對你有幫助!
補充一點:
oracle數據庫服務端版本如果是64位,你的機子上安裝的客戶端位數是32還是64,都不影響使用。
本機上不需要安裝oracle服務端。