環境:
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