又花了一上午來配這個東西,寫出來讓大家少走彎路吧,我的環境是:WinXp SP2 + Python2.4 + Oracle 8i
【1】首先下載驅動:(cx_Oracle)
http://www.python.net/crew/atuining/cx_Oracle/
不過要注意一下版本,根據你的情況加以選擇。
【2】安裝:
執行那個exe安裝程式就可以了,它會copy一個cx_Oracle.pyd到{PYTHON_HOME}\Lib\site-packages目錄下。
【3】執行一段測試程式:
import cx_Oracle
con = cx_Oracle.connect( "xjtu_test", "37343734","xjtu.world")
cursor = con.cursor()
cursor.close()
con.close()
裡邊connect中的3個參數從左至右分別是:user, pass, TNS。
那個TNS可以用Oracle用戶端工具中的Net Configuration Assistant來配置。
【4】具體的cx_Oracle API可以參考:
http://www.python.net/crew/atuining/cx_Oracle/html/cx_Oracle.html
好了,執行那段測試代碼時你肯定遇到問題了,一般會有以下問題:
【1】import cx_Oracle 時報告找不到OCI.DLL:
到裝了Oracle的機器上找一個,然後copy到{PYTHON_HOME}\Lib\site-packages目錄下就可以了。
【2】cx_Oracle.connect 時報告RuntimeError: Unable to acquire Oracle environment handle:
這個比較麻煩,按以下步驟來解決:(可能不需要所有的步驟,我沒有確認,不過把以下步驟都執行了,確實問題就解決了)
首先,確認你是在控制台下邊來執行這個python指令碼的。而不是某些ide,例如:PyDev(它們似乎無法載入os的環境變數)。
其實,在本機安裝Oracle(只安用戶端工具就可以了)。
最後,添加以下環境變數:(我給出我的,換成你自己的路徑就可以了)
ORACLE_HOME=D:\Oracle\Ora81
PATH=D:\Oracle\Ora81\bin;{your_other_paths}
我在PyDev裡邊卡了好久,ft~,後來換到Console下邊一切就好了,:-)