python連接oracle數(shù)據(jù)庫實例
本文實例講述了python連接oracle數(shù)據(jù)庫的方法,分享給大家供大家參考。具體步驟如下:
一、首先下載驅(qū)動:(cx_Oracle)
http://www.python.net/crew/atuining/cx_Oracle/
不過要注意一下版本,根據(jù)你的情況加以選擇。
二、安裝:
首先配置oracle_home環(huán)境變量
執(zhí)行那個exe安裝程序就可以了,它會copy一個cx_Oracle.pyd到Libsite-packages目錄下。
如果是linux,執(zhí)行
python setup.py install
三、執(zhí)行一段測試程序:
con = cx_Oracle.connect( "xjtu_test", "37343734","xjtu.world")
cursor = con.cursor()
cursor.close()
con.close()
里邊connect中的3個參數(shù)從左到右分別是:user, pass, TNS。
那個TNS可以用Oracle客戶端工具中的Net Configuration Assistant來配置。
四、具體的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平臺,執(zhí)行那段測試代碼時你肯定遇到問題了,一般會有以下問題:
① import cx_Oracle 時報告找不到OCI.DLL:
到裝了Oracle的機(jī)器上找一個,然后copy到Libsite-packages目錄下就可以了。
② cx_Oracle.connect 時報告RuntimeError: Unable to acquire Oracle environment handle:
這個比較麻煩,按以下步驟來解決:(可能不需要所有的步驟,我沒有確認(rèn),不過把以下步驟都執(zhí)行了,確實問題就解決了)
首先,確認(rèn)你是在控制臺下邊來執(zhí)行這個python腳本的。而不是某些ide,例如:PyDev(它們似乎無法載入os的環(huán)境變量)。
其實,在本機(jī)安裝Oracle(只安客戶端工具就可以了)。
最后,添加以下環(huán)境變量:(我給出我的,換成你自己的路徑就可以了)
PATH=D:OracleOra81bin;
希望本文所述對大家的Python程序設(shè)計有所幫助。
相關(guān)文章
一分鐘帶你上手Python調(diào)用DeepSeek的API
最近DeepSeek非?;?作為一枚對前言技術(shù)非常關(guān)注的程序員來說,自然都想對接DeepSeek的API來體驗一把,下面小編就來為大家介紹一下Python如何快速上手調(diào)用DeepSeek?API吧2025-02-02
Python實現(xiàn)報警信息實時發(fā)送至郵箱功能(實例代碼)
這篇文章主要介紹了Python實現(xiàn)報警信息實時發(fā)送至郵箱,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-11
Python?Pandas:DataFrame一列切分成多列、分隔符切分選字段方式
這篇文章主要介紹了Python?Pandas:DataFrame一列切分成多列、分隔符切分選字段方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
Python還能這么玩之只用30行代碼從excel提取個人值班表
公司實行項目值班制度,拿到值班表,看到全部的值班信息,要去查找自己的值班信息,是一件頭痛的事情.作為程序員,當(dāng)然要簡化,將自己的信息提煉出來,需要的朋友可以參考下2021-06-06
python判斷列表字典字符串元組是否存在某個值或者空值(多種方法)
這篇文章主要介紹了python判斷列表字典字符串元組是否存在某個值或者空值,本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-02-02
Python實戰(zhàn)使用XPath采集數(shù)據(jù)示例解析
這篇文章主要為大家介紹了Python實戰(zhàn)之使用XPath采集數(shù)據(jù)實現(xiàn)示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪<BR>2023-04-04
Python3 MySQL 數(shù)據(jù)庫連接的使用示例
本文我們?yōu)榇蠹医榻B Python3 使用 PyMySQL 連接數(shù)據(jù)庫,并實現(xiàn)簡單的增刪改查,需要的朋友可以參考下2021-06-06

