Linux安装cx_Oracles
Linux安装cx_Oracles
环境背景
系统:CentOS6.8
python:Python 2.7.13 |Anaconda 4.3.1 (64-bit)
cx_Oracle模块:5.0.4
Oracle:11.2.0.1.0
Oracle客户端:11.2.0.1.0
1、下载
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
从 下载链接 下载下面两个文件
1
2
3
|
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
instantclient-sdk-linux.x64-11.2.0.1.0.zip
#注这里要根据连接数据库的版本来定,安装的客户端一定要选择基础版本,不要选instantclient11.2-basiclite
|
解压这两个文件到/opt/instantclient_11_2目录下
2、设置环境变量
1
2
3
4
|
# vim /etc/profile #文件尾部添加
export ORACLE_HOME= /opt/instantclient_11_2/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
# source /etc/profile
|
3、安装cx_Oracle
安装cx_Oracle之前需要先建立一个链接libclntsh.so,如下:
1
2
|
cd /opt/instantclient_11_2/
ln -s libclntsh.so.11.1 libclntsh.so
|
下载cx_Oracle
https://sourceforge.net/projects/cx-oracle/files/5.0.4/
1
2
3
|
# tar -xf cx_Oracle-5.0.4.tar.gz
# cd cx_Oracle-5.0.4
# python setup.py install
|
测试:
1
2
3
4
5
|
>>> import cx_Oracle
/root/ .pyenv /versions/anaconda2-4 .3.1 /lib/python2 .7 /site-packages/cx_Oracle-5 .0.4-py2.7-linux-x86_64.egg /cx_Oracle .py:3: UserWarning: Module cx_Oracle was already imported from /root/ .pyenv /versions/anaconda2-4 .3.1 /lib/python2 .7 /site-packages/cx_Oracle-5 .0.4-py2.7-linux-x86_64.egg /cx_Oracle .pyc, but /opt/cx_Oracle-5 .0.4 is being added to sys.path
>>>
>>> print cx_Oracle.version
5.0.4
|
4、测试数据库连接
1
2
3
4
5
|
>>> import cx_Oracle as cx
>>> db=cx.connect( 'finchina/123456@192.168.1.236/orcl' )
>>> print db.version
11.2.0.1.0
>>> db.close()
|
FAQ整理:
问题1: conn0=cx.connect('finchina/123456@192.168.1.236:1521/orcl')
cx_Oracle.InterfaceError: Unable to acquire Oracle environment handle
解决方案:这里要保证你安装的instantclient和需要连接的数据库版本一致。下载
1
2
3
4
5
|
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip
instantclient-sdk-linux.x64-11.2.0.1.0.zip
windows出现这个问题
复制 client下所有的.dll文件到python安装包site_pageages目录中即可
|
然后按照上文进行配置就即可。
问题2: conn0=cx.connect('finchina/123456@192.168.1.236:1521/orcl')
cx_Oracle.DatabaseError: ORA-28547: connection to server failed, probable Oracle Net admin error
解决方案:
重新安装 cx_Oracle5.0.4
重装安装 instantclient11.2-basic
下面选段来自Oracle客户端下载地址:http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
1
2
3
4
5
6
7
8
|
Instant Client Package - Basic: All files required to run OCI, OCCI, and JDBC-OCI applications
#注释:即时客户端软件包 - 基本:运行OCI,OCCI和JDBC-OCI应用程序所需的所有文件
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.zip (48,338,185 bytes) (cksum - 15985569)
oracle-instantclient11.2-basic-11.2.0.1.0-1.x86_64.rpm (47,811,007 bytes) (cksum - 4244105838)
Instant Client Package - Basic Light: Smaller version of the Basic, with only English error messages and Unicode, ASCII, and Western European character set support
#注释:即时客户端软件包 - 基本轻量:较小版本的Basic,只有英文错误消息和Unicode,ASCII和西欧字符集支持,阿西吧!,原来是字符集问题
oracle-instantclient11.2-basiclite-11.2.0.1.0-1.x86_64.zip (20,825,489 bytes) (cksum - 133027975)
oracle-instantclient11.2-basiclite-11.2.0.1.0-1.x86_64.rpm (20,649,392 bytes) (cksum - 1121446971)
|
总结:
问题很严重,遇到问题,胡乱百度,无思路的Google,反而拖慢解决问题的节奏。希望这次之后,遇到任何问题都能:理清思路,将问题拆分,然后逐个击破
问题3:ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory
解决方案:
1
2
|
cd /opt/instantclient_11_2
ln -sv libclntsh.so.11.1 libclntsh.so
|
Linux安装cx_Oracles相关推荐
- 实用的Linux 安装 zip unzip
Linux 安装 zip unzip 1.apt-get 安装 apt-get install zip 2.yum 安装 yum install -y unzip zip 命令实例 1.把/home目 ...
- nginx linux 安装
nginx linux 安装 进入http://nginx.org/en/download.html 下载 n gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gc ...
- Linux安装Nodejs
Linux安装Nodejs 阿里云镜像: https://npm.taobao.org/mirrors/node/ 选择所需版本,进行下载. 我这边下载的是:https://npm.taobao.or ...
- linux命令安装组件,Linux安装各种组件
[TOC] Linux安装各种组件 ============================= ## 安装JDK 官网下载最新JDK ``` http://www.oracle.com/technet ...
- arch linux安装_如何从头开始安装Arch Linux
arch linux安装 by Andrea Giammarchi 由Andrea Giammarchi In this article, you'll learn how to install Ar ...
- linux安装eclipse运行web,Linux安装Tomcat,运行Eclipse,web项目
到官网下载:https://tomcat.apache.org/download-80.cgi 在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd 切换目录 / ...
- linux 查看es安装目录,Linux安装Elasticsearch
本文介绍Linux环境如何安装Elasticsearch. 本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2. 1 安装JDK 网上教程很多,也可 ...
- Linux安装CentOS7(图文详解)
Linux安装centos7 准备 软件:VMware workstation 镜像文件:CentOS-7-x86_64-Minimal-1810.iso 一.安装centos7 1.点击创建新的虚拟 ...
- Linux安装CentOS6(图文详解)新手入门
Linux安装centos6 准备 软件:VMware workstation 镜像文件:CentOS-6.8-x86_64-bin-DVD1.iso 一.安装centos6 1.点击创建新的虚拟机 ...
最新文章
- PAT(甲级)2019年春季考试 7-3 Telefraud Detection
- (理论篇)从基础文件IO说起虚拟内存,内存文件映射,零拷贝
- 3d相册 html 代码_HTML5 3D立体图片相册
- php采集百度推荐词,php抓取百度快照、百度收录、百度热词程序代码_PHP教程
- 基于BindingSource的WinForm开发
- 8080处理器计算机启动
- 机器学习模型,能分清川菜和湘菜吗?
- [攻防世界 pwn]——pwn-200
- myeclipse问题
- java语言数组实现栈的操作_基于自定义的动态数组实现一个栈(Java语言)
- 活动推荐 | 首届云原生编程挑战赛开始报名啦~
- scratch课程案例——漫天飞雪
- 壁面函数matlab,Y+的查看及FLUENT壁面函数的选择
- PIM是什么意思,如何做好企业产品信息管理?
- 电影《肖申克的救赎》给你最深的感受是什么?
- php zend optimizer,【原创】ZendOptimizer 的安装
- 解决IDEA项目一直Updating Index
- Collectors.toList()的作用
- [论文阅读1]Re-identification with RGB-D sensors
- graphpad prism8教程柱状图_一起来看看Graphpad Prism 8.0进阶篇吧!
热门文章
- 8种最有效的网站推广方案
- python3类的继承详解_python3中类的继承以及self和super的区别详解
- visual studio 怎么生成coredump文件_coredump详解
- mysql 回滚段_史上最牛分析MySQL索引机制的实现!不接受反驳
- python遍历文件内容_Python四种逐行读取文件内容的方法
- jdbc 自增id 原理_面试被问分布式ID怎么办? 滴滴(Tinyid)甩给他
- oracle快速了解法,【oracle】rownum的快速了解
- 网页单机怎么用服务器修改元宝,[一键安装] 网页游戏热血战纪半一键端,附加架设方法+元宝修改!...
- java编程东西好多记不住_课程总结
- 原生 ajax查询,原生ajax啦啦啦