App下載

Python怎么連接oracle數(shù)據(jù)庫(kù)?

猿友 2021-08-04 16:47:58 瀏覽數(shù) (6019)
反饋

oracle作為最強(qiáng)大的數(shù)據(jù)庫(kù),python也提供了足夠的支持。不過(guò)與其他數(shù)據(jù)庫(kù)略有不同,oracle的數(shù)據(jù)庫(kù)的概念和mysql等完全不一樣,所以在使用oracle上的操作也有很大差異。今天小編帶來(lái)一篇python連接oracle數(shù)據(jù)庫(kù)的文章,帶你了解python是怎么對(duì)oracle數(shù)據(jù)庫(kù)數(shù)據(jù)抽取調(diào)用的。

一、下載instant client

1.附鏈接:http://www.oracle.com/technetwork/topics/winx64soft-089540.html

提示:需要有oracle的賬號(hào)才能下載嗷!

下載客戶端

2.解壓到某一位置并配置環(huán)境變量

配置環(huán)境變量

二、cmd加載包

寫(xiě)在cmd里加載cx_Oracle包

pip install cx_Oracle


三、python連接oracle數(shù)據(jù)庫(kù)

import cx_Oracle as cx
con = cx.connect('用戶名', '密碼', '127.0.0.1:1521/orcl')
\
127.0.0.1:改為數(shù)據(jù)庫(kù)域名
1521為連接數(shù)據(jù)庫(kù)端口號(hào)
orcl為所連接的數(shù)據(jù)庫(kù)
\

如圖所示:

運(yùn)行

四、解決監(jiān)聽(tīng)問(wèn)題(無(wú)此問(wèn)題可跳過(guò))

如果能順利連接,那就沒(méi)事了,請(qǐng)?zhí)^(guò)下面一段,刻意進(jìn)行下一步操作,如果有途中類似報(bào)錯(cuò),需要配置幾個(gè)文件,這里一并貼出:

寫(xiě)在前面:本人對(duì)這幾個(gè)配置文件的套路也不是很熟,若有問(wèn)題請(qǐng)諒解并另尋他解

配置監(jiān)聽(tīng)

1.listener.ora

配置文件1

2.tnsnames.ora

配置文件2

3.sqlnet.ora


配置文件3

五、oracle數(shù)據(jù)庫(kù)數(shù)據(jù)抽取調(diào)用

接下來(lái)進(jìn)行數(shù)據(jù)的抽取與調(diào)用:

import cx_Oracle as cx      #導(dǎo)入模塊
con = cx.connect('root', 'root123', '127.0.0.1:1521/ORCL')  #創(chuàng)建連接
cursor = con.cursor()       #創(chuàng)建游標(biāo)
cursor.execute("select * from ORCL where ID='28'")  #執(zhí)行sql語(yǔ)句
data = cursor.fetchone()        #獲取一條數(shù)據(jù)
print(data)     #打印數(shù)據(jù)
cursor.close()  #關(guān)閉游標(biāo)
con.close()     #關(guān)閉數(shù)據(jù)庫(kù)連接

數(shù)據(jù)抽取調(diào)用

okk啦??!

到此這篇python連接oracle數(shù)據(jù)庫(kù)并進(jìn)行數(shù)據(jù)抽取調(diào)用的文章就介紹到這了,更多Python學(xué)習(xí)內(nèi)容請(qǐng)搜索W3Cschool以前的文章或繼續(xù)瀏覽下面的相關(guān)文章。

0 人點(diǎn)贊