python之連接oracle數據庫


環境:

windows,python2.7

1.下載cx_Oracle

在windows下不要使用easy_install或者pip,因為這樣安裝不會同步環境,並報錯:

distutils.errors.DistutilsSetupError: cannot locate Oracle include files in...

因此下載.exe文件安裝

https://pypi.python.org/pypi/cx_Oracle 下載cx_Oracle-5.2.1-12c.win-amd64-py2.7.exe (md5)

 

2. 下載Oracle Instant Client (32-bit)

只需要下載instantclient-basic-nt-11.2.0.3.0.zip就可以了,其它的都是一些根據不同需要擴展的包。

下載地址:http://www.oracle.com/technetwork/topics/winsoft-085727.html

下載后解壓到某一路徑,並將該路徑添加到系統的環境變量,命名為ORACLE_HOME,將ORACLE_HOME添加到path下,否則會報錯

cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle

3解決中文亂碼問題

3.1設置環境變量(全局,可能對其它Oracle客戶端產生影響)

“計算機”->“系統屬性”->“高級系統設置”->“系統屬性/高級 選項卡”->“環境變量”->“系統變量”->“新建”->
變量名:NLS_LANG
變量值:SIMPLIFIED CHINESE_CHINA.ZHS16GBK

 

3.2python環境下設置

import os  

os.environ['NLS_LANG'] = 'SIMPLIFIED CHINESE_CHINA.UTF8'  #或者os.environ['NLS_LANG'] = 'AMERICAN_AMERICA.AL32UTF8'

 

4連接數據庫

import cx_Oracle  

db = cx_Oracle.connect(username/passwd@host:port/sevicename)  

cursor = db.cursor()  

#其他操作  

  

db.commit()  

db.close(

不需要再本機上安裝Oracle,也不需要新建NETWORK/ADMIN目錄添加tnsnames.ora文件,更不要把oci.dll移到site-packages


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM