cx_Oracle的"Unable to acquire Oracle environment handle"異常

先發一下牢騷,在對數據庫的訪問上,python跟java的jdbc相比,還是有不少差距的,比如訪問Oracle,雖然有比較成熟的cx_Oracle,但是其安裝和發佈實在太複雜了,也順便驗證了一個道理,複雜的東西,其依賴的東西一般也比較多。
切入正題,我是在Linux(Center OS 5)上安裝cx_Oracle的,所需要的依賴,可以查看cx_Oracle的README,我採用的Instant Client方式,比較少,其rpm才幾十M。
一開始,我圖省事,只是將所需要的so文件直接放到/usr/lib下邊(其實這是個愚蠢的偷懶辦法),結果就出現如題的異常。
摸索下來,要成功運行cx_Oracle只是需要設置如下兩個環境變量:
[list]
[*]ORACLE_HOME,一般是你instant client 所在目錄,通過rpm的一般在/usr/lib/oracle/xxx
[*]LD_LIBRARY_PATH,一般是$ORACLE_HOME/lib
[/list]

2011-3-17更新

在Window(XP)下安裝,是不需要設置ORACLE_HOME,但是必須要將Instant Client的目錄加到PATH的環境變量中。
OCI.DLL最好不要放在site-packages下邊
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章