環(huán)境:
為企業(yè)提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、成都營銷網(wǎng)站建設(shè)、競價(jià)托管、品牌運(yùn)營等營銷獲客服務(wù)。創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時(shí)降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!操作系統(tǒng):win7 64位,CPU是inter的pc機(jī)
Oracle服務(wù)端:Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
Oracle本地客戶端:Release 11.2.0.1.0 32bit Production
Python版本:python2.7.5(安裝路徑:C:\Python27\)
cx_Oracle版本:cx_Oracle-5.2.1-11g.win-amd64-py2.7.exe
Iinstantclient版本:instantclient-basic-win-x86-64-11.2.0.1.0.zip
在學(xué)習(xí)python過程中,需要連接oracle數(shù)據(jù)庫,所以要安裝cx_Oracle。
安裝cx_Oracle-5.2.1-11g.win-amd64-py2.7.exe,import cx_Oracle報(bào)錯(cuò)。提示:import cx_Oracle
ImportError: DLL load failed: %1 不是有效的Win32應(yīng)用程序。根據(jù)報(bào)錯(cuò)提示應(yīng)該是缺少dll文件,因?yàn)槲冶緳C(jī)oracle客戶端是32位的,64位的cx_Oracle程序調(diào)用32位的動(dòng)態(tài)庫肯定會(huì)報(bào)錯(cuò)。
根據(jù)文章http://blog.csdn.net/huzhenwei/article/details/3946308指點(diǎn),去oracle網(wǎng)站下載了instance client,地址是:
http://www.oracle.com/technology/software/tech/oci/instantclient/index.html。
我下載了instantclient-basic-win-x86-64-11.2.0.1.0.zip這個(gè)版本。
直接解壓C:\instantclient_11_2 目錄下。
在“環(huán)境變量”的“系統(tǒng)變量”中增加:
ORACLE_HOME = C:\instantclient_11_2 (網(wǎng)上說需要,但是測試不加也可以)
TNS_ADMIN = C:\instantclient_11_2 (網(wǎng)上說需要,但是測試不加也可以)
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
修改Path變量,在后面添加C:\instantclient_11_2
然后把解壓包中的oci.dll文件放到%python_home%\Lib\site-packages 下,再次import不會(huì)報(bào)錯(cuò)了。
執(zhí)行測試python腳本報(bào)錯(cuò),提示cx_Oracle Interface Error: Unable to acquire Oracle enviroment handle。啟動(dòng)PLSQL登陸打開的是剛才的tns,但登陸就報(bào)錯(cuò)ORA-1以為是instance client和之前安裝的32位oracle client沖突,ORA-12557。感覺是這個(gè)64位的instance client與之前裝的32位oracle client沖突了。于是把環(huán)境變量里的ORACLE_PATH刪掉,就可以登陸PLSQL了。但測試語句還是報(bào)那個(gè)錯(cuò)。折騰了半天,最后死馬當(dāng)活馬醫(yī)吧,嘗試著把C:\instantclient_11_2里面的dll文件都拷貝到了python的C:\Python27\Lib\site-packages目錄下,又RUN了一下,居然不報(bào)錯(cuò)了。 然后逐個(gè)刪掉,最后發(fā)現(xiàn)oraociei11.dll刪掉會(huì)報(bào)錯(cuò),而其它dll刪掉重新Run都不會(huì)報(bào)錯(cuò)。
不過使用PLSQL登陸還是會(huì)報(bào)錯(cuò),只好把環(huán)境變量ORACLE_HOME刪掉了,并不影響cx_Oracle的使用。原理不太清楚,先記錄下來。
Python測試腳本:
#!/usr/bin/python #coding=utf-8 import cx_Oracle username = "smb" passwd = "czty_smb" host = "192.168.150.233" port = "1521" sid = "zsms" dsn = cx_Oracle.makedsn(host, port, sid) con = cx_Oracle.connect(username, passwd, dsn) cursor= con.cursor() sql = 'SELECT smbms, prtms FROM t_user_mobile_dz' cursor.execute(sql) result = cursor.fetchall() print "Total: " + str(cursor.rowcount) for row in result: print row cursor.close() con.close()另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。
新聞標(biāo)題:python連接oracle配置-創(chuàng)新互聯(lián)
當(dāng)前URL:http://m.rwnh.cn/article16/djipdg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、用戶體驗(yàn)、網(wǎng)站設(shè)計(jì)公司、網(wǎng)站維護(hù)、企業(yè)網(wǎng)站制作、營銷型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容