python連接oracle數(shù)據(jù)庫(kù)實(shí)例
本文實(shí)例講述了python連接oracle數(shù)據(jù)庫(kù)的方法,分享給大家供大家參考。具體步驟如下:
一、首先下載驅(qū)動(dòng):(cx_Oracle)
http://www.python.net/crew/atuining/cx_Oracle/
不過(guò)要注意一下版本,根據(jù)你的情況加以選擇。
二、安裝:
首先配置oracle_home環(huán)境變量
執(zhí)行那個(gè)exe安裝程序就可以了,它會(huì)copy一個(gè)cx_Oracle.pyd到Libsite-packages目錄下。
如果是linux,執(zhí)行
python setup.py install
三、執(zhí)行一段測(cè)試程序:
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客戶端工具中的Net Configuration Assistant來(lái)配置。
四、具體的cx_Oracle API可以參考:
http://www.python.net/crew/atuining/cx_Oracle/html/cx_Oracle.html
五、示例:
>>> conn=cx_Oracle.connect ('scott/tiger@oratest')
>>> curs=conn.cursor ()
>>> sql='select * from emp'
>>> rr=curs.execute (sql)
>>> row=curs.fetchone()
>>> row
(7369, 'SMITH', 'CLERK', 7902, datetime.datetime(1980, 12, 17, 0, 0), 800.0, None, 20)
>>> while row:
(ID,NAME)=(row[0],row[1])
row=curs.fetchone ()
print ID,NAME
7369 SMITH
7499 ALLEN
7521 WARD
7566 JONES
7654 MARTIN
7698 BLAKE
7782 CLARK
7788 SCOTT
7839 KING
7844 TURNER
7876 ADAMS
7900 JAMES
7902 日常
7934 MILLER
如果使用windows平臺(tái),執(zhí)行那段測(cè)試代碼時(shí)你肯定遇到問(wèn)題了,一般會(huì)有以下問(wèn)題:
① import cx_Oracle 時(shí)報(bào)告找不到OCI.DLL:
到裝了Oracle的機(jī)器上找一個(gè),然后copy到Libsite-packages目錄下就可以了。
② 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(只安客戶端工具就可以了)。
最后,添加以下環(huán)境變量:(我給出我的,換成你自己的路徑就可以了)
PATH=D:OracleOra81bin;
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
- Python3.6連接Oracle數(shù)據(jù)庫(kù)的方法詳解
- Python編程實(shí)戰(zhàn)之Oracle數(shù)據(jù)庫(kù)操作示例
- Python操作Oracle數(shù)據(jù)庫(kù)的簡(jiǎn)單方法和封裝類實(shí)例
- python鏈接Oracle數(shù)據(jù)庫(kù)的方法
- 一步步教你用python連接oracle數(shù)據(jù)庫(kù)
- 利用Python連接Oracle數(shù)據(jù)庫(kù)的基本操作指南
- python實(shí)現(xiàn)與Oracle數(shù)據(jù)庫(kù)交互操作示例
- python連接oracle數(shù)據(jù)庫(kù)操作實(shí)例及遇到的異常
相關(guān)文章
python使用socket實(shí)現(xiàn)的傳輸demo示例【基于TCP協(xié)議】
這篇文章主要介紹了python使用socket實(shí)現(xiàn)的傳輸demo,結(jié)合實(shí)例形式分析了Python使用socket庫(kù)基于TCP協(xié)議實(shí)現(xiàn)的客戶端與服務(wù)器端相關(guān)操作技巧,需要的朋友可以參考下2019-09-09Python語(yǔ)法學(xué)習(xí)之線程的創(chuàng)建與常用方法詳解
本文主要介紹了線程的使用,線程是利用進(jìn)程的資源來(lái)執(zhí)行業(yè)務(wù),并且通過(guò)創(chuàng)建多個(gè)線程,對(duì)于資源的消耗相對(duì)來(lái)說(shuō)會(huì)比較低,今天就來(lái)看一看線程的使用方法具體有哪些吧2022-04-04matplotlib實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)刷新的示例代碼
這篇文章主要介紹了matplotlib實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)刷新的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01python 判斷三個(gè)數(shù)字中的最大值實(shí)例代碼
這篇文章主要介紹了python 判斷三個(gè)數(shù)字中的最大值,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-07-07python在一個(gè)范圍內(nèi)取隨機(jī)數(shù)的簡(jiǎn)單實(shí)例
在本篇內(nèi)容里小編給大家分享了關(guān)于python在一個(gè)范圍內(nèi)取隨機(jī)數(shù)的簡(jiǎn)單實(shí)例內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2020-08-08