弄清版本,最重要!!!

首先安装配置时,必须把握一个点,就是版本一致!包括:系统版本,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数据库实操总结的更多相关文章

  1. sql/pl 安装并连接Oracle数据库

    1,首先,先下载pl/sql devloper 安装包.下载对应版本的安装包 下载地址  https://www.allroundautomations.com/bodyplsqldevreg.htm ...

  2. python使用cx_oracle连接oracle数据库

    http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html---下载instantclient-basic-linux.x ...

  3. 在PYTHON中,用cx_Oracle连接ORACLE数据库简单示例

    一,在安装的时候,参数有点不一样: python setup.py build install 二,连接数据库,有两种方式,DSN和TNSNAMES方式: #dsn = orcl.makedsn(se ...

  4. Python3 连接 Oracle 数据库

    Python3 连接 Oracle 数据库 需要导出一些稍微复杂的数据,用Python处理很方便 环境 Win10 Python 3.7.0 Oracle 11g 安装依赖 安装 cx_Oracle ...

  5. [原创]安装Oracle 11gR2,以及如何在win8下使用plsql develper连接Oracle数据库 ,在这里和大家分享下

    一,关于win8下安装Oracle 11gR2 1.我下载的是Oracle_11gR2_win64.其中有两个包: 注意:在解压了之后将:win64_11gR2_database_2of2\datab ...

  6. 通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库

    通过使用精简客户端,且不需要安装的客户端,配合PLSQL连接oracle数据库. 首先下载安装包在Oralce官方网站上下载Oracle Instantclient Basic package.地址如 ...

  7. .net远程连接oracle数据库不用安装oracle客户端

    asp.net远程连接oracle数据库不用安装oracle客户端的方法下面是asp.net连接远程Oracle数据库服务器步骤: 1.asp.net连接oracle服务器需要添加Sytem.Data ...

  8. .net远程连接oracle数据库不用安装oracle客户端的方法

    .net远程连接oracle数据库不用安装oracle客户端的方法步骤: 1.添加Sytem.Data.OracleClient命名空间. 2.连接时需要ConnectionString字符串,出现在 ...

  9. 无需安装Oracle Client连接Oracle数据库

    介绍 当我们采用 ODP.NET 检索Oracle 数据库的时候,Oracle客户端是必须安装.假如当时电脑上没有安装Oracle客户端,就不能这么用了,这时候Oracle.ManagedDataAc ...

随机推荐

  1. spring boot 打包问题

    一.jar包 1.maven build package 2.linux 下执行 java -jar & 命令后台运行,也可加入服务运行 二.war包 1.将pom中的<packagin ...

  2. ACM第一阶段学习内容

    一.知识目录 字符串处理 ................................................................. 3 1.KMP 算法 .......... ...

  3. python基础之列表解析

    python列表解析:是一个让人欣喜的术语,你可以在一行使用一个for循环将所有的值放在一个列表之中.python列表解析属于python的迭代中的一种,相比python for循环速度会快很多. e ...

  4. import方法引入模块详解

    在python用import或者from...import或者from...import...as...来导入相应的模块,作用和使用方法与C语言的include头文件类似.其实就是引入某些成熟的函数库 ...

  5. python 生成csv乱码问题解决方法

    需求背景 最近为公司开发了一套邮件日报程序,邮件一般就是表格,图片,然后就是附件.附件一般都是默认写到txt文件里,但是PM希望邮件里的附件能直接用Excel这种软件打开,最开始想保存为Excel,但 ...

  6. vue-component=>v-on

    $emit 返回 shouldPropagate,shouldPropagate 是一个布尔值,取决于父链上的是否存在该事件的监听器以及,事件处理程序返回的值.他决定 $dispatch 是否停止冒泡 ...

  7. Javascript中闭包常用场景

    一.前言 有准备去看Javascript框架,所以对于Javascript和原型继承有必要去了解,这边小记一下闭包比较好的例子~ 二.正文 先来一下“闭包”的解释~ 一个拥有许多变量和绑定了这些变量的 ...

  8. RadioGroup 的使用

    //获取 RadioGroup 项目名称 procedure TForm1.RadioGroup1Click(Sender: TObject); begin   Text := RadioGroup1 ...

  9. (转)Foundation-性能优化之NSDateFormatter

    性能优化之NSDateFormatter 为什么要优化NSDateFormatter? 首先,过度的创建NSDateFormatter用于NSDate与NSString之间转换,会导致App卡顿,打开 ...

  10. Mac Java配置JAVA——HOME

    命令行中输入:  export JAVA_HOME=$(/usr/libexec/java_home)