當前位置:首頁 » 編程軟體 » pythonoracle腳本

pythonoracle腳本

發布時間: 2023-04-16 14:11:57

1. python 使用cx_oracle連接oracle請教 

找到原因了,原因是由於oracle客戶端的dll與打包的dll不一致,供後鍵迅面遇到相同問題的TX參考稿汪此陵洞..

2. 如何在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程序設計有所幫助。

3. 用python語言寫一段腳本:獲取圖層X中的欄位屬性值,並把這些屬性值插入到Oracle資料庫表D中

import arcgisscripting as ags
import cx_Oracle
gp = ags.create()
fc = r""
fieldName = "X"
#連接oracle
ip = "192.168.0.1"
port = 1521
SID = "ocl" #實例名
dsn_tns = cx_Oracle.makedsn(ip,port,SID)
username = "sys"
password = "sys"
connection = cx_Oracle.connect(username,password,dsn_tns)
cursor = connection.cursor()
#讀取FeatureClass
fcrows = gp.searchCursor(fc)
fcrow = fcrows.next()
while fcrow:
fieldVlaue = fcrow.get_value(fieldName)
# 插入記錄
cursor.execute("insert into D(X) (%s)",fieldVlaue)
fcrow = fcrows.next()
註:要安裝cx_oracle for Python

4. 如何用python更新oracle資料庫

用python更新oracle資料庫:
1. 要想使Python可以操作Oracle資料庫,首先需要安裝cx_Oracle包,可以通過下面的地址來獲取安裝包:cx-oracle.sourceforge.net/
2. 另外還需要oracle的一些類庫,此時需要在運行python的機器上安裝Oracle Instant Client軟體包,可以通過下面地址獲得technetwork/database/features/instant-client/index-097480.html
找到符合自己平台的包,然後安裝,這里我使用的是rpm包,所以使用以下命令安裝
$ sudo rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.i386.rpm
裝完畢後還需要設置一下環境變數,如下
$ export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/lib/oracle/11.2/client/lib
然後寫update語句對表進行更新:
import cx_Oracle //導入鏈接oracle的庫
conn = cx_Oracle.connect('fkong/[email protected]/orcl') //建立與orcl的連接
cursor = conn.cursor () //打開游標
cursor.execute ("update test set COL1='u' where ID=1") //執行更新
conn.commit() //提交結果
cursor.close (); //關閉游標
conn.close ();//關閉連接

5. python批量執行oracle的sql文件

可以使用輪拿Python的cx_Oracle模塊來實現:
```
import cx_Oracle
# 連接資料庫臘蔽搭
conn = cx_Oracle.connect('username/password@host:port/sid')
# 創建游標
cursor = conn.cursor()
# 打開sql文並慎件
f = open('sql_file.sql', 'r')
# 讀取sql文件
sql_file = f.read()
# 執行sql文件
cursor.execute(sql_file)
# 關閉游標
cursor.close()
# 關閉資料庫連接
conn.close()
```

6. PYTHON鏈接ORACLE的問題

1、包括cx_Oracle、ODBC等工具都必須安裝Oracle客戶端喊銷。
2、鄭圓游不同Oracle版本需要用不同的包,cx_Oracle官網有各個版本腔橋的程序下載

7. Python 進行 Oracle 與 Mysql 不同資料庫類型之間的數據 diff


項目工作中,可能會有 A 類型資料庫數據需要遷移到 B 類型的資料庫中的需求。 例如:假設現有一個資料庫的遷移需求,是將 Oracle 資料庫里的數據遷移至 Mysql 資料庫中。 常規的測試方法是人工去抽樣檢測數據進行 diff,因為數據量太大,人工不可能實現全量數據的肉眼 diff。

因此,為提高數據 diff 的正確性以及測試效率,編寫測試腳本進行全量遷移數據的 diff 是十分必要的。以下內容將會著重講解如何使信銀用 Python 編寫腳本來實現 Oracle 與 Mysql 這種不同類型資料庫之間數據的 diff。


1、連接oracle資料庫並獲取要提取的數據,並輸出列表裡面嵌入的字典類型的數據

2、連接mysql資料庫並獲滑閉宴取要提取的數據態態,並輸出列表裡面嵌入的字典類型的數據

3、Oracle 與 Mysql 資料庫進行 diff,直接調用上面兩個方法即可

4、執行後的輸出結果


8. 需求:將excel表中的數據通過PYTHON腳本編寫,每日自動導入到oracle資料庫相應的一張表格中。

1.確定方案
eg excel data 文件 -> oracle data 文件 (其實導入工具已經至此某些excel格式梁伍殲,不需要python再轉換)

2.了解中間文件格式,橡沖或者定出中間sql文件規約
3.選型技術,找python庫 google python+excel,選定導入方式
4. 開工橘盯寫code

9. oracle怎麼調用python代碼

1、把python程序放到一個bat文件裡面:python.bat [內容:start python clearlog.py]
2、在oracle裡面創建JOB scheler
3、在JOB scheler 裡面 調用 xxxx.bat文件
即可。

10. 怎麼用Python腳本怎麼從oracle資料庫中取出clob數據

stmt = con.prepareStatement("select attach,fjmc,piid,swsj fromreceiveFile");//attach是clolb對象
rs = stmt.executeQuery( );
while (rs.next()) {
java.sql.Blob blob = rs.getBlob(1);//這一句可獲得blob,clob等對象。

然後再把blob轉成文件

File file = new File("G:\\XiangMu_dwoa\\資料庫文件資料\\aaa");
OutputStream fout = new FileOutputStream(file);
//下面將BLOB數據寫入文件
byte[] b = new byte[1024];
int len = 0;
while ( (len = ins.read(b)) != -1) {
fout.write(b, 0, len);

你可以參考一下

熱點內容
商湯科技存儲負責人 發布:2025-07-15 01:24:21 瀏覽:249
文件夾如何批量替換文件名 發布:2025-07-15 01:19:15 瀏覽:67
ftp上傳網頁 發布:2025-07-15 01:13:09 瀏覽:181
音樂文件夾圖標 發布:2025-07-15 01:03:41 瀏覽:494
安卓機怎麼反向充電 發布:2025-07-15 01:03:40 瀏覽:500
電腦使用華為雲伺服器 發布:2025-07-15 00:48:10 瀏覽:533
中考應該如何排解壓力 發布:2025-07-15 00:17:54 瀏覽:362
安卓第三方應用軟體是什麼 發布:2025-07-15 00:12:06 瀏覽:149
程序業務配置存儲 發布:2025-07-14 23:52:16 瀏覽:685
csdn編程挑戰 發布:2025-07-14 23:52:08 瀏覽:791