當前位置:首頁 » 編程語言 » oracle連接python

oracle連接python

發布時間: 2025-08-14 18:05:41

㈠ 如何在python下連接Oracle資料庫

本文實例講述了python連接oracle資料庫的方法,分享給大家供大家參考。具體步驟如下:
一、首先下載驅動:(cx_Oracle)
http://www.python.net/crew/atuining/cx_Oracle/
不過要注意一下版本,根據你的情況加以選擇。
二、安裝:
首先配置oracle_home環境變數
執行那個exe安裝程序就可以了,它會一個cx_Oracle.pyd到Libsite-packages目錄下。
如果是linux,執行

python setup.py build
python setup.py install

三、執行一段測試程序:

import cx_Oracle

con = cx_Oracle.connect( "xjtu_test", "37343734","xjtu.world")
cursor = con.cursor()
cursor.close()
con.close()

里邊connect中的3個參數從左到右分別是:user, pass, TNS。
那個TNS可以用Oracle客戶端工具中的Net Configuration Assistant來配置。

四、具體的cx_Oracle API可以參考:
http://www.python.net/crew/atuining/cx_Oracle/html/cx_Oracle.html
五、示例:

>>> import cx_Oracle
>>> 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平台,執行那段測試代碼時你肯定遇到問題了,一般會有以下問題:
① import cx_Oracle 時報告找不到OCI.DLL:
到裝了Oracle的機器上找一個,然後到Libsite-packages目錄下就可以了。
② cx_Oracle.connect 時報告RuntimeError: Unable to acquire Oracle environment handle:
這個比較麻煩,按以下步驟來解決:(可能不需要所有的步驟,我沒有確認,不過把以下步驟都執行了,確實問題就解決了)
首先,確認你是在控制台下邊來執行這個python腳本的。而不是某些ide,例如:PyDev(它們似乎無法載入os的環境變數)。
其實,在本機安裝Oracle(只安客戶端工具就可以了)。
最後,添加以下環境變數:(我給出我的,換成你自己的路徑就可以了)

ORACLE_HOME=D:OracleOra81
PATH=D:OracleOra81bin;

希望本文所述對大家的Python程序設計有所幫助。

㈡ Python連接Oracle資料庫並執行SQL查詢,數據獲取、關閉游標、查詢列元數據等基礎操作

Python連接Oracle資料庫利用第三方庫cx_Oracle進行操作。本篇內容將帶你通過具體代碼示例,逐步了解如何執行基本的連接資料庫、執行SQL查詢、獲取數據、關閉游標以及查詢列元數據等操作。讓我們開始。

### 連接Oracle資料庫

首先需要導入cx_Oracle庫,建立資料庫連接。

python
import cx_Oracle

dsn = cx_Oracle.makedsn('主機名', '埠號', '服務名')
conn = cx_Oracle.connect('用戶名', '密碼', dsn)

### 執行SQL查詢

藉助`conn.cursor()`生成游標對象,並使用此對象執行SQL查詢。

python
cursor = conn.cursor()
cursor.execute('SELECT column_name FROM table_name WHERE condition;')

### 獲取數據

通過循環`cursor`迭代查詢結果。

python
data = []
for row in cursor:
data.append(row)

### 關閉游標和連接

完成操作後記得釋放資源,確保正確關閉游標和連接。

python
cursor.close()
conn.close()

### 查詢列元數據

利用`cursor.description`屬性獲取每列的詳細信息,如數據類型、名稱等。

python
column_info = [desc for desc in cursor.description]

以上步驟展示了如何使用Python與Oracle資料庫進行基本操作,包括建立連接、執行查詢、處理數據以及釋放資源。請確保根據具體環境設置好資料庫連接信息,如主機名、埠號、服務名、用戶名及密碼等。

㈢ python連接oracle資料庫報出 ORA-12541: TNS: 無監聽程序

方法一:
在oracle_home下找到lsnrctl.exe 輸入 start
方法二
可能認不到實例名
在cmd下運行
set oracle_sid=自己資料庫的實例名(大多數orcl)
網上還有很多解決辦法
也許不見得管用,這種問題具體問題具體分析比較好。介紹的這2種您的機器還不行。就去修改一個TNSNAMES.ORA。

熱點內容
mysql存儲過程結果集 發布:2025-08-14 20:35:00 瀏覽:805
逃跑吧少年在哪裡用密碼切換賬號 發布:2025-08-14 20:34:16 瀏覽:634
c語言編譯導師 發布:2025-08-14 20:21:11 瀏覽:143
電信機頂盒電視點播如何設置密碼 發布:2025-08-14 20:17:33 瀏覽:371
制圖腳本 發布:2025-08-14 20:12:24 瀏覽:376
用電腦怎麼看寬頻密碼 發布:2025-08-14 20:09:10 瀏覽:352
怎樣查詢自己的內部伺服器ip 發布:2025-08-14 20:03:48 瀏覽:464
股票交易系統源碼 發布:2025-08-14 19:12:27 瀏覽:65
空氣壓縮溫度降低 發布:2025-08-14 19:08:37 瀏覽:608
北大校園門戶的默認密碼是什麼 發布:2025-08-14 19:04:19 瀏覽:497