Ⅰ 如何用python讀取oracle資料庫
下載cx_Oracle,下載之後就可以使用了。
簡單的使用流程如下:
1.引用模塊cx_Oracle2.連接資料庫3.獲取cursor4.使用cursor進行各種操作5.關閉cursor6.關閉連接
參考代碼:
import cx_Oracle #引用模塊cx_Oracleconn=cx_Oracle.connect('load/123456@localhost/ora11g') #連接資料庫c=conn.cursor() #獲取cursorx=c.execute('select sysdate from al') #使用cursor進行各種操作x.fetchone()c.close() #關閉cursorconn.close() #關閉連接
Ⅱ python連接oracle資料庫報出 ORA-12541: TNS: 無監聽程序
方法一:
在oracle_home下找到lsnrctl.exe 輸入 start
方法二
可能認不到實例名
在cmd下運行
set oracle_sid=自己資料庫的實例名(大多數orcl)
網上還有很多解決辦法
也許不見得管用,這種問題具體問題具體分析比較好。介紹的這2種您的機器還不行。就去修改一個TNSNAMES.ORA。
Ⅲ python打包以後不能連接orcle資料庫怎麼辦
應該是少了某些文件
前言
Python自帶的模塊中有很多操縱文件的。我們可以把文件的數據讀出來,經過處理還可以將數據寫入文件中。但是對於數據的管理和分析來說,資料庫還是專業一些。如果Python能和資料庫結合在一起,那麼就能結合兩種的優勢,提高效率。
工作中使用的是Oracle資料庫,Python有一個模塊cx_Oracle可以與Oracle相連。要使用cx_Oracle,就要先下載。
1. 下載cx_Oracle
Python一個官方網站PyPI,上面有豐富的模塊。cx_Oracle就可以在PyPI中下載。打開PyPI的,在裡面搜索cx_Oracle,即可找到該模塊。當然也可以通過其它的途徑下載。
下載之後就可以使用了。
2. 使用流程
簡單的使用流程如下:
1.引用模塊cx_Oracle
2.連接資料庫
3.獲取cursor
4.使用cursor進行各種操作
5.關閉cursor
6.關閉連接
下面是一個簡單的例子:
import cx_Oracle #引用模塊cx_Oracle
conn=cx_Oracle.connect('load/123456@localhost/ora11g') #連接資料庫
c=conn.cursor() #獲取cursor
x=c.execute('select sysdate from al') #使用cursor進行各種操作
x.fetchone()
c.close() #關閉cursor
conn.close() #關閉連接
3. 幾種用法
Python對資料庫的操作主要有2方面:一個是寫數據,一個是讀數據。這2個方面的實現可以通過sql語句實現,也可以通過存儲過程實現。所以cx_Oracle的主要用法有:
1. 執行SQL語句
2. 調用存儲過程和函數。
4. 執行SQL語句
執行SQL語句很簡單,從上面的例子就可以看出。使用cursor.execute即可執行。使用fetchone或fetchall即可將執行結果讀出來。
下面一個例子是Insert語句,使用的變數綁定。
import cx_Oracle
conn=cx_Oracle.connect('load/123456@loaclhost/ora11g')
c=conn.cursor()
x=c.execute('insert into demo(v) values(:1)',['nice'])
conn.commit();
c.close()
conn.close()
變數綁定和Oracle的動態SQL一樣,都是冒號將佔位符,即代碼中的:1,對變數的復制就是傳入一個List,即代碼中的['nice']。有多少個變數,list中就應該對應多少個值,數目要一致,否則會報錯。
執行之後,可以使用連接的一個方法connect.commit(),將事務提交。
5. 調用存儲過程和方法
直接上代碼:
--存儲過程代碼:
CREATE OR REPLACE PROCEDURE P_DEMO(V1 IN VARCHAR2, V2 OUT VARCHAR2) IS
BEGIN
V2 := V1;
END;
#Python代碼:
import cx_Oracle
conn=cx_Oracle.connect('load/123456@localhost/ora11g')
c=conn.cursor()
str1='nice'
str2=' '#需要有值,即len(str2)>=len(str1)
x=c.callproc('p_demo',[str1,str2])
print(str2)
c.close()
conn.close()
調用存儲過程使用的是cursor.callproc方法。上面的存儲過程中,一個變數的值是OUT型的,在Python中,對OUT型的變數賦值,主要該變數的長度不能小於存儲過程中的。
--函數代碼:
CREATE OR REPLACE function F_DEMO(V1 VARCHAR2) RETURN VARCHAR2 IS
BEGIN
RETURN V1;
END;
#Python代碼:
import cx_Oracle
conn=cx_Oracle.connect('load/123456@localhost/ora11g')
c=conn.cursor()
str1='nice'
str2=c.callfunc('f_demo',cx_Oracle.STRING,[str1])
print(str2)
c.close()
conn.close()
調用函數使用的方法是cursor.callfunc。這個與調用存儲過程不同之處在於,它需要指定傳輸參數的類型。
結束
通過cx_Oracle,可以是Python與Oracle資料庫相互溝通,這樣兩者就可以長處互補。
比如,可以將Python當成一個數據收集的工具,可以從Web,從文件中獲取數據,然後將這些數據保存到Oracle資料庫中,在Oracle資料庫上進行數據的進一步分析。
Ⅳ 以後是python開始還是oracle資料庫管理
完成Oracle軟體安裝後,DBA就應該對組織和管理資料庫負責任,其主要任務是:
(1)啟動和關閉資料庫;
(2)創建資料庫;
(3)刪除資料庫;
(4)調整初始化參數;
(5)管理網路。
對於資料庫的管理,必須要具有SYSDBA和SYSOPER的角色,才有權啟動、關閉、運行資料庫。SYSDBA角色擁有SYS數據表的所有許可權,SYSOPER的角色擁有Public數據表的所有許可權。
Ⅳ 如何在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資料庫
用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 ();//關閉連接
Ⅶ 如何在Python環境下連接Oracle資料庫
下載驅動:cx_Oracle需要適配你的python版本,安裝之
裝了Oracle的機器上一個OCI.DLL到{PYTHON_HOME}Libsite-packages目錄下
本機安裝Oracle(只安客戶端工具)
添加以下環境變數:(註:換成你自己的路徑)
ORACLE_HOME=D:OracleOra81PATH=D:OracleOra81in;{your_other_paths}
.執行一段測試程序(在cmd中執行):
- importcx_Oracle#user,pass,TNS#TNS可以用Oracle客戶端工具中的NetConfigurationAssistant來配置con=cx_Oracle.connect("xjtu_test","37343734","xjtu.world")cursor=con.cursor()cursor.close()con.close()
Ⅷ python自定義輸入用戶名和密碼如何寫到oracl資料庫中
有很多小夥伴可能知道python不知道怎麼讓用戶名和密碼寫到oracle數據中。接下來就讓小編給大家解釋說明一下操作方法
1.保證與oracle伺服器版本統一。這是想要數據傳送的首要必要的條件。
2.然後我們再找到python3 ,oracle伺服器,oracle client統一使用64位或者32位。這里小編推薦大家使用64位以上的系統,因為64位以上的系統操作簡單,比較穩定。
2.先解壓縮instantclient-basic-linux.x64-11.2.0.4.0.zip,最後後解壓縮instantclient-sdk-linux.x64-11.2.0.4.0.zip注意在這里解壓的時候一定要解壓到我們可以找到的地方。
3.進入目錄instantclient_11_2,創建軟鏈接ln -s libclntsh.so.11.1 libclntsh.so4.在剛剛解壓得到的instantclient_11_2文件夾下新建network/admin
5.在剛剛創建的目錄下創建network/admin創建文件tnsnames.ora,最後按照以下的模板進行調整就能得到一個完整的程序。模板如下(SERVICE_NAME請填寫伺服器SID)以上就是 Python寫入到oracl資料庫中的幾個步驟,如果說對你有幫助,那麼就點贊轉發吧!
Ⅸ 如何使用Python連接Oracle資料庫
下載cx_Oracle,下載之後就可以使用了。
簡單的使用流程如下:
1.引用模塊cx_Oracle
2.連接資料庫
3.獲取cursor
4.使用cursor進行各種操作
5.關閉cursor
6.關閉連接參考代碼:
import cx_Oracle #引用模塊cx_Oracle
conn=cx_Oracle.connect('load/123456@localhost/ora11g') #連接資料庫
c=conn.cursor() #獲取cursor
x=c.execute('select sysdate from al') #使用cursor進行各種操作
x.fetchone()
c.close() #關閉cursor
conn.close() #關閉連接