博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python之连接oracle数据库
阅读量:5254 次
发布时间:2019-06-14

本文共 1074 字,大约阅读时间需要 3 分钟。

环境:

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就可以了,其它的都是一些根据不同需要扩展的包。

下载地址:

下载后解压到某一路径,并将该路径添加到系统的环境变量,命名为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

转载于:https://www.cnblogs.com/BigFishFly/p/6337014.html

你可能感兴趣的文章
九.python面向对象(双下方法内置方法)
查看>>
go:channel(未完)
查看>>
[JS]递归对象或数组
查看>>
LeetCode(17) - Letter Combinations of a Phone Number
查看>>
Linux查找命令对比(find、locate、whereis、which、type、grep)
查看>>
路由器外接硬盘做nas可行吗?
查看>>
python:从迭代器,到生成器,再到协程的示例代码
查看>>
Java多线程系列——原子类的实现(CAS算法)
查看>>
在Ubuntu下配置Apache多域名服务器
查看>>
多线程《三》进程与线程的区别
查看>>
linux sed命令
查看>>
html标签的嵌套规则
查看>>
[Source] Machine Learning Gathering/Surveys
查看>>
HTML <select> 标签
查看>>
类加载机制
查看>>
tju 1782. The jackpot
查看>>
HTML5与CSS3基础(五)
查看>>
linux脚本中有source相关命令时的注意事项
查看>>
湖南多校对抗赛(2015.03.28) H SG Value
查看>>
REST Web 服务(二)----JAX-RS 介绍
查看>>