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
最新文章
- java复杂枚举
- 使用udev实现显示器的热插拔和usb的自动挂载
- iOS 9之适配ATS(转载)
- Hibernate SQL 方言(hibernate.dialect)
- 所思所想 关于asp.net界面业务分离
- gunicorn启动报错gunicorn.errors.HaltServer
- hdu 4278 Faulty Odometer
- mysql导入数据大小设置方法
- SQL DCL数据控制语言,用来定义訪问权限和安全级别;
- ethtool命令
- linux+Qt程序如何打包发布
- Android-2手机应用程序,短信应用
- nodeJS起步 1
- python下selenium测试报告整合
- Ali OSS服务端签名直传并设置上传回调
- UVA1646-Edge Case(递推+斐波那契数列)
- 函数和常用模块【day04】:高阶函数(七)
- luogu P2726 [SHOI2005]树的双中心
- python离线安装外部依赖包
- 面向对象OO第1-3次作业总结