Python下串連Oracle資料庫

來源:互聯網
上載者:User

又花了一上午來配這個東西,寫出來讓大家少走彎路吧,我的環境是: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下邊一切就好了,:-)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.