Python3安装cx_Oracle连接oracle数据库实操总结
弄清版本,最重要!!!
首先安装配置时,必须把握一个点,就是版本一致!包括:系统版本,python版本,oracle客户端的版本,cx_Oracle的版本,然后安装配置就容易了!
如果已经安装Python,查看你安装的Python版本是多少位的:

当然,你64位的操作系统也是可以安装32位的开发环境。反之则不行!切记!
oracle客户端的版本,cx_Oracle的版本,要与Python版本和位数对应:
比如:
Python版本:Python3.4.3 32位;
cx_Oracle的版本:cx_Oracle-5.2-11g.win32-py3.4
oracle客户端的版本:instantclient-basic-win32-11.2.0.1.0;
这里还有三个注意点:
版本位数对应,都是32位;
cx_Oracle和python版本对应,都是3.4;
cx_Oracle和instantclient版本对应,都是11;
、
再次说明(别嫌我啰嗦,弄明白很重要):比如,我的系统是win7 64位,python版本却是32位的,所以下载安装的Oracle Client 也是32位 11g的,相应的cx_Oracle 也要是32位11g的,当然也要注意python的版,本python2.X还是python3.X,也要下相应的版本的。
这一点弄明白之后,我们就要准备安装了。
cx_Oracle安装
下载地址:https://pypi.python.org/pypi/cx_Oracle/5.3 下载低版本cx_Oracle版本
我是下载cx_Oracle-5.3-11g.win32-py3.6.exe,下载后直接双击安装,就ok了。
不建议直接使用pip install cx_Oracle命令安装,因为版本问题容易报错。cx_Oracle 报错:cx_Oracle.DatabaseError: DPI-1050: Oracle Client library must be at version 11.2,这就是cx_Oracle版本太高引起的。
oracle 客户端
下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
把下载的文件解压,复制oci,oraocci11,oraociei11的3个DLL粘贴到你的PY目录的Libs/site-packages文件夹下面。
python3.4连接oracle数据库测试代码:
import cx_Oracle
conn = cx_Oracle.connect('用户名/密码@主机ip地址/orcl') #用自己的实际数据库用户名、密码、主机ip地址 替换即可
curs=conn.cursor()
sql='SELECT * FROM 。。。' #sql语句
rr=curs.execute (sql)
row=curs.fetchone()
print(row[0])
curs.close()
conn.close()
配一个ORACLE_HOME的环境变量,指向Instant Client的目录(如果你到这已经可以成功连接orcale数据库了,环境变量这一步不执行也可以,视情况而定):
到自己想要放的路径下,我的是C:\instantclient-basic-win32-11.2.0.1.0\instantclient_11_2
然后是配置环境变量:右键计算机——属性——高级系统设置——环境变量——系统变量——新建
变量:ORACLE_HOME 值:Q:\OracleClient
变量:TNS_ADMIN 值:Q:\OracleClient
编辑path用';'隔开加一个 Q:\OracleClient
安装结束,整个安装过程非常简单,也是我自己多次失败的总结,希望对你有帮助!
补充一点:
oracle数据库服务端版本如果是64位,你的机子上安装的客户端位数是32还是64,都不影响使用。
本机上不需要安装oracle服务端。展
另推荐很好的视频学习网站:http://www.51zxw.net/study.asp?vip=19591611
Python3安装cx_Oracle连接oracle数据库实操总结的更多相关文章
- sql/pl 安装并连接Oracle数据库
1,首先,先下载pl/sql devloper 安装包.下载对应版本的安装包 下载地址 https://www.allroundautomations.com/bodyplsqldevreg.htm ...
- python使用cx_oracle连接oracle数据库
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html---下载instantclient-basic-linux.x ...
- 在PYTHON中,用cx_Oracle连接ORACLE数据库简单示例
一,在安装的时候,参数有点不一样: python setup.py build install 二,连接数据库,有两种方式,DSN和TNSNAMES方式: #dsn = orcl.makedsn(se ...
- Python3 连接 Oracle 数据库
Python3 连接 Oracle 数据库 需要导出一些稍微复杂的数据,用Python处理很方便 环境 Win10 Python 3.7.0 Oracle 11g 安装依赖 安装 cx_Oracle ...
- [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下
一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...
- 通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库
通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库. 首先下载安装包在Oralce官方网站上下载Oracle Instantclient Basic package.地址如 ...
- .net远程连接oracle数据库不用安装oracle客户端
asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...
- .net远程连接oracle数据库不用安装oracle客户端的方法
.net远程连接oracle数据库不用安装oracle客户端的方法步骤: 1.添加Sytem.Data.OracleClient命名空间. 2.连接时需要ConnectionString字符串,出现在 ...
- 无需安装Oracle Client连接Oracle数据库
介绍 当我们采用 ODP.NET 检索Oracle 数据库的时候,Oracle客户端是必须安装.假如当时电脑上没有安装Oracle客户端,就不能这么用了,这时候Oracle.ManagedDataAc ...
随机推荐
- struts2中的action为什么要继承ActionSupport类,不继承也可以,有什么好处?
简单来说,有很多相关的方法都加载进来,你直接调用就行了,而且在安全上和稳定性上做了很好的处理 实际上继承ActionSupport之后 就等同于实现了很多接口 Action,Validateable, ...
- Daily Scrum02 11.30
纵然编译大作业压顶,大家还是顶住压力,保证了软工项目的持续进行. Member Today's Task Tomorrow's Task 李孟 Task856 熟悉单元测试方法熟悉单元测试方法 Tas ...
- JQuery JTable根据某行的某个值来设置行的背景颜色
目录 描述 处理方法 参考 描述 某个表的数据是用JQuery的JTable插件进行展示的.现在需求是:当表中的master字段为true时,就将对应的整行的背景颜色设置为浅蓝色. 处理方法 在fie ...
- 【Linux】——搭建nexus
1.安装 前提条件: JDK已经安装,运行java -version查看. 将本地下载好的nexus存放到linux上,存放路径为 /usr/local/software.可使用winscp直接拷贝. ...
- [C/C++] extern关键字详解以及与static、const区别
extern用法详解: 1. 声明外部实体 声明外部全局变量或对象,一般用于头文件中,表示在其它编译单元内定义的变量,链接时进行外部链接,如: extern int ivalue; 此时的extern ...
- [剑指Offer] 17.树的子结构
题目描述 输入两棵二叉树A,B,判断B是不是A的子结构.(ps:我们约定空树不是任意一个树的子结构) [思路]要查找树A中是否存在和树B结构一样的子树,可以分成两步: 1.第一步在树A中找到和B的根节 ...
- 51nod 1831 小C的游戏(博弈论+打表)
比较坑的题目. 题意就是:给出一堆石子,一次操作可以变成它的约数个,也可以拿只拿一个,不能变成一个,最后拿的人输. 经过打表发现 几乎所有质数都是先手必败的,几乎所有合数都是先手必胜的 只有几个例外, ...
- 【题解】JSOI2009游戏
真的没想到...果然反应太迟钝,看到题目毫无思路,一点联想都没有. 按照网上博客的说法:一眼棋盘染色二分->二分图->最大匹配->BINGO?果然我还是太弱了…… 我们将棋盘黑白染色 ...
- big 解题报告
big 题目描述 你需要在\([0,2^n)\)中选一个整数\(x\),接着把\(x\)依次异或\(m\)个整数\(a_1\sim a_m\). 在你选出\(x\)后,你的对手需要选择恰好一个时刻(刚 ...
- 用JavaScript写一个类似PHP print_r的函数
PHP print_r的函数很好用,可以用来打印数组.对象等的结构与数据,可惜JavaScript并没有原生提供类似的函数.不过我们可以试着自己来实现这个函数,下面提供一些方法与思路. 方法一 fun ...