Python下連接Oracle數(shù)據(jù)庫(kù)Posted on 2006-07-25 13:54 InterMa 閱讀(361) 評(píng)論(2) 編輯 收藏 引用 網(wǎng)摘 所屬分類(lèi): Python又花了一上午來(lái)配這個(gè)東西,寫(xiě)出來(lái)讓大家少走彎路吧,我的環(huán)境是:WinXp SP2 + Python2.4 + Oracle 8i import cx_Oracle![]() con = cx_Oracle.connect( "xjtu_test", "37343734","xjtu.world") cursor = con.cursor() cursor.close() con.close()![]() 里邊connect中的3個(gè)參數(shù)從左到右分別是:user, pass, TNS。 那個(gè)TNS可以用Oracle客戶(hù)端工具中的Net Configuration Assistant來(lái)配置。 【4】具體的cx_Oracle API可以參考: http://www./crew/atuining/cx_Oracle/html/cx_Oracle.html 好了,執(zhí)行那段測(cè)試代碼時(shí)你肯定遇到問(wèn)題了,一般會(huì)有以下問(wèn)題: 【1】import cx_Oracle 時(shí)報(bào)告找不到OCI.DLL: 到裝了Oracle的機(jī)器上找一個(gè),然后copy到{PYTHON_HOME}\Lib\site-packages目錄下就可以了。 【2】cx_Oracle.connect 時(shí)報(bào)告RuntimeError: Unable to acquire Oracle environment handle: 這個(gè)比較麻煩,按以下步驟來(lái)解決:(可能不需要所有的步驟,我沒(méi)有確認(rèn),不過(guò)把以下步驟都執(zhí)行了,確實(shí)問(wèn)題就解決了) 首先,確認(rèn)你是在控制臺(tái)下邊來(lái)執(zhí)行這個(gè)python腳本的。而不是某些ide,例如:PyDev(它們似乎無(wú)法載入os的環(huán)境變量)。 其實(shí),在本機(jī)安裝Oracle(只安客戶(hù)端工具就可以了)。 最后,添加以下環(huán)境變量:(我給出我的,換成你自己的路徑就可以了) ORACLE_HOME=D:\Oracle\Ora81 PATH=D:\Oracle\Ora81\bin;{your_other_paths} 我在PyDev里邊卡了好久,ft~,后來(lái)?yè)Q到Console下邊一切就好了,:-) |
|
|