````````````
之前沒(méi)有用過(guò)oracle 數(shù)據(jù)庫(kù),這家是oracle ,天天測(cè)試需要修改數(shù)據(jù)數(shù)據(jù),所以自己想用代碼實(shí)現(xiàn),當(dāng)連接oracle 的時(shí)候肯定上網(wǎng)找用到哪些包,如何初始化實(shí)例啊,結(jié)果就卡住了。。。
一開(kāi)始教程只是大致看沒(méi)有仔細(xì)讀。所以只在pycharm 里面安裝了cx_Oracle,結(jié)果報(bào)錯(cuò),說(shuō)是沒(méi)有oracle客戶端, 然后又開(kāi)始找與oracle 相對(duì)應(yīng)的版本,并且要與電腦位數(shù)相對(duì)應(yīng)。
然后用到是11_2 ,我自己是想下載的,適逢國(guó)家大事,oracle 的驗(yàn)證郵件一直打不開(kāi) 。 ,,
工作有點(diǎn)繁雜,擱下了,昨天想起來(lái),又開(kāi)始找包。
instantclient-basic-windows.x64-11.2.0.4.0.zip? ? 解壓,設(shè)置環(huán)境變量在path里面?
cx_Oracle-5.3-11g.win-amd64-py3.5-2.exe
因?yàn)槲业碾娔X是64位,windows ,so。。。
=------------------------------
----------------------------------------=
最重要的一點(diǎn),網(wǎng)上好多說(shuō)要把client 包里面的oci.dll 放在python 的site-packages下面,但是是不需要的~~!??! 這里就是坑。?
-----------------------------------
代碼如下:?
# -*- coding: utf-8 -*-
importcx_Oracle
importos
os.environ['NLS_LANG'] ='SIMPLIFIED CHINESE_CHINA.UTF8'??
# 設(shè)置編碼,不然select出來(lái)的數(shù)據(jù)如果有中文會(huì)提示gbk無(wú)法轉(zhuǎn)碼
conn = cx_Oracle.connect("username/password@localhost/sid")
# 獲取sid 方法,打開(kāi)連接了oracle 的客戶端,執(zhí)行 selectinstance_namefromv$instance;? 即所得
cursor = conn.cursor ()
cursor.execute ("查詢語(yǔ)句")
row = cursor.fetchmany(numRows=3)
print(row)
cursor.close()
conn.close()
借鑒文章連接 :http://www.cnblogs.com/chenjianhong/p/4144399.html
http://agile-boy.iteye.com/blog/962263