確認版本:
oracle版本:64位
python版本:64位
下載cx_Oracle的whl包:64位
安裝whl包:pip install wheel
cd到下載路徑安裝cx_Oracle的whl包:pip install cx_Oracle-7.2.3-cp36-cp36m-win_amd64.whl
安裝后到python目錄下有文檔,里面有使用方法:https://oracle.github.io/python-cx_Oracle/index.html
由於數據庫版本是11,所以這里下載11對應的instant文件win64位:https://www.oracle.com/database/technologies/instant-client/winx64-64-downloads.html
下載解壓,這里為了方便管理,將下載的instant文件解壓到python文件夾下
在環境變量path中加入此路徑
將此instantclient_11_2下此3個ddl文件拷貝到python的site-packages下
運行測試腳本,沒有報錯,並且打印出了數據信息,說明連接成功
import cx_Oracle
conn = cx_Oracle.connect('用戶名/密碼@ip:端口/服務名')
curs = conn.cursor()
sql = 'select * from product_component_version'
curs.execute(sql)
for result in curs:
print(result)
curs.close()
conn.close()
安裝過程中的一些坑:
若報錯:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library is at version 0.0 but version 11.2 or higher is needed
需更換instantclient為數據庫對應的版本,網上有人說是換cx_Oracle版本,其實不是的
最后成功連接數據庫的環境版本:
python:3.6 - 64bit
oracle數據庫:11.2.0.2.0 - 64bit
cx_Oracle:7.2.3 - 64bit
instantclient:11.2.0.4.0 - 64bit