CX Oracle OCI 簡介
CX Oracle OCI 是Python中操作Oracle數據庫的第三方包,通過OCI(Oracle Client Interface)實現與 Oracle 數據庫的通信,是Python與Oracle數據庫連接的主流方式之一。使用CX Oracle OCI 可以在Python環境下快速連接Oracle數據庫,實現數據的CRUD操作,提高Python的數據處理效率。
CX Oracle OCI 的安裝非常簡單,只需要在Python環境下使用pip安裝即可:
pip install cx_Oracle
使用CX Oracle OCI 連接Oracle數據庫需要以下幾個步驟:
- 1. 安裝Oracle數據庫客戶端
- 2. 按照Oracle數據庫的實例、主機、端口、用戶名和密碼等信息連接數據庫
- 3. 執行SQL語句完成數據的CRUD操作
下面我們通過實際的代碼來演示CX Oracle OCI的使用。
CX Oracle OCI 連接Oracle 數據庫
import cx_Oracle #連接Oracle數據庫,格式:用戶名/密碼@主機名:端口號/數據庫實例名 conn = cx_Oracle.connect('用戶/密碼@主機名:端口號/數據庫實例名') #獲取cursor對象 cur = conn.cursor() #執行查詢 cur.execute('select * from user_table') #輸出結果集 for row in cur: print(row) #關閉cursor對象以及數據庫連接 cur.close() conn.close()
CX Oracle OCI 執行 SQL 語句
#插入數據 insert_sql = 'insert into user_table (id,name,email) values (:1,:2,:3)' cur.execute(insert_sql, (1,'張三','zhangsan@example.com')) conn.commit()#必須提交才能生效 #更新數據 update_sql = 'update user_table set email=:1 where id=:2' cur.execute(update_sql, ('lisi@example.com', 2)) conn.commit()#必須提交才能生效 #刪除數據 delete_sql = 'delete from user_table where id=:1' cur.execute(delete_sql, (3,)) conn.commit()#必須提交才能生效
CX Oracle OCI 的參數化查詢
使用CX Oracle OCI 執行 SQL 語句時,我們通常會使用參數化查詢的方式,這樣可以增加SQL語句的重用性,同時也可以避免SQL注入等安全問題。
select_sql = 'select * from user_table where id=:1 and name=:2' cur.execute(select_sql, (1,'張三')) rows = cur.fetchall() for row in rows: print(row)
CX Oracle OCI 的錯誤處理
在使用CX Oracle OCI 時,一定要注意SQL執行過程中的錯誤處理,捕獲并記錄錯誤信息,方便后續排查問題。
try: cur.execute('invalid sql syntax') except cx_Oracle.DatabaseError as e: error, = e.args print('Error message:', error.message) print('Error code:', error.code)
總結
CX Oracle OCI 是 Python 與 Oracle 數據庫連接的重要工具之一,可以快速連接 Oracle 數據庫,實現數據的CRUD操作,提高 Python 的數據處理效率。 在實際工作中,我們需要注意安裝數據庫客戶端、正確連接數據庫、使用參數化查詢,以及異常處理等問題。
上一篇00913 oracle
下一篇01012oracle