本文實例講述了Python使用cx_Oracle模塊操作Oracle數據庫。分享給大家供大家參考,具體如下:
ORACLE_SID參數,這個參數是操作系統中用到的,它是描述我們要默認連接的數據庫實例,對于一個機器上有多個實例的情況下,要修改后才能通過 conn / as sysdba連接,因為這里用到了默認的實例名。
簡而言之,打個比方,你的名字叫小明,但是你有很多外號。你父母叫你小明,但是朋友都叫你的外號。
這里你的父母就是oracle實例,小明就是sid,service name就是你的外號。
sid用于實例區分各個數據庫,service name用于外部鏈接。 它們可能是不同的,要注意你得到的是哪個名字,合理使用,否則遠程連接別的數據庫可能出錯。
前言
Python自帶的模塊中有很多操縱文件的。我們可以把文件的數據讀出來,經過處理還可以將數據寫入文件中。但是對于數據的管理和分析來說,數據庫還是專業一些。如果Python能和數據庫結合在一起,那么就能結合兩種的優勢,提高效率。
工作中使用的是Oracle數據庫,Python有一個模塊cx_Oracle可以與Oracle相連。要使用cx_Oracle,就要先下載。
1. 下載cx_Oracle
Python一個官方網站PyPI,上面有豐富的模塊。cx_Oracle就可以在PyPI中下載。打開PyPI的網址https://pypi.python.org/pypi,在里面搜索cx_Oracle,即可找到該模塊,其下載地址為http://cx-oracle.sourceforge.net/。當然也可以通過其它的途徑下載。
下載之后就可以使用了。
2. 使用流程
簡單的使用流程如下:
①.引用模塊cx_Oracle
②.連接數據庫
③.獲取cursor
④.使用cursor進行各種操作
⑤.關閉cursor
⑥.關閉連接
下面是一個簡單的例子:
cx_Oracle.connect("用戶名 / 密碼@ Oracle服務器IP / Oracle的SERVICE_NAME")
獲得 Oracle的SERVICE_NAME:
su - oracle #切換至oracle用戶
env | grep ORACLE #查詢ORACLE的環境變量
ORACLE_SID=benguo # benguo就是SERVICE_NAME
import cx_Oracle #引用模塊cx_Oracleconn=cx_Oracle.connect('load/123456@localhost/ora11g') #連接數據庫c=conn.cursor() #獲取cursorx=c.execute('select sysdate from dual') #使用cursor進行各種操作x.fetchone()c.close() #關閉cursorconn.close() #關閉連接例子:
#coding:utf-8import cx_Oracledef main(): conn = cx_Oracle.connect("zebra/zebra@192.168.0.113/benguo") cur =conn.cursor() r= cur.execute("select * from userinfo") print print r.fetchone()if __name__ == '__main__': main()3. 幾種用法
Python對數據庫的操作主要有2方面:一個是寫數據,一個是讀數據。這2個方面的實現可以通過SQL語句實現,也可以通過存儲過程實現。所以cx_Oracle的主要用法有:
新聞熱點
疑難解答