cx_Oracle安装说明
简介
cx_Oracle是用python连接oracle的驱动模块,参考文章:
[cx_Oracle文档](http://cx-oracle.sourceforge.net/html/index.html)
[木匣子](http://www.cnblogs.com/hzhida/archive/2012/08/13/2636735.html)
- 下载安装包
cx_Oracle-5.1.2-10g-py26-1.x86_64.rpm
oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.rpm
oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64.rpm官网下载地址:
http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html
http://cx-oracle.sourceforge.net/ - 安装
安装命令:
rpm -Uvh cx_Oracle-5.1.2-10g-py26-1.x86_64.rpm
rpm -Uvh oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.rpm
rpm -Uvh oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64.rpm - 配置环境变量
vi /etc/profile在/etc/profile文件追加如下信息:
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export TNS_ADMIN=$ORACLE_HOME/network/admin执行:
source /etc/profile 验证安装是否成功
验证方法:在目标服务器上执行:
python,import cx_Oracle如果验证失败,参考5异常处理
异常处理
如果出现下面的错误:[root@client oracle]# python
import cx_Oracle
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory
ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory
这是由于驱动文件名称不对引起的
在服务器上执行命令:
find / -name libclntsh.so.*
[root@client oracle]# find / -name libclntsh.so.*
/usr/lib/oracle/12.1/client64/lib/libclntsh.so.12.1
可见是文件名称不对,执行如下命令:
cp /usr/lib/oracle/12.1/client64/lib/libclntsh.so.12.1
/usr/lib/oracle/12.1/client64/lib/libclntsh.so.11.1
重新执行第四步,验证安装是否成功
cx_Oracle增删改查
import cx_Oracle连接
dsn=cx_Oracle.makedsn(host, int(port), dbname)
self.conn = cx_Oracle.connect(user, passwd ,dsn)
self.cursor = self.conn.cursor()- 插
def insert(self, sql, param, flag = True):
sql = self.sqltran(sql, param)
self.cursor.execute(sql)
self.conn.commit() - 查
def selectall(self, sql, param=None):
sql = self.sqltran(sql, param)
self.cursor.execute(sql)
result = self.cursor.fetchall()
return result - 更新
def update(self, sql, param=None, flag = True):
sql = self.sqltran(sql, param)
self.cursor.execute(sql)
self.conn.commit() - 删
def delete(self, sql, param=None):
sql = self.sqltran(sql, param)
self.cursor.execute(sql)
self.conn.commit() - 关闭连接
def __del__( self ):
if self.conn :
self.conn.close() - sql转换
def sqltran(self,sql,param):
for i in range(0,len(param)):
sql = sql.replace('%s',str(param[i]),1)
return sql - 测试方法
if __name__ == '__main__':
param = ('id','name','addr',1)
sql1= 'select id ,name, addr from test'
sql0= 'select %s,%s,%s from test'
sql2= 'insert into test (%s,%s,%s)values(4,4,4)'
sql3= 'update test set name=222 where id=%s'
sql4= 'delete from test where id=%s'
print oracle.selectall(sql0,param)
print oracle.insert(sql2, param)
print oracle.selectOne(sql0,param)
print oracle.update(sql3,('3'))
print oracle.delete(sql4,('4'))
print oracle.selectall(sql0,param)
print 'success'
cx_Oracle安装说明的更多相关文章
- Python cx_Oracle 安装小记
因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,Python cx_Oracle 安装小记 SQLAlchemy 是 Pytho ...
- cx_oracle 安装和配置
前提条件: 已经成功安装python 已经成功安装oracle客户端 1.去官网上下载对应版本的cx_oracle http://cx-oracle.sourceforge.net/ 注意版本必须与p ...
- ArcGIS ArcMap 问题(ArcMap闪退、cx_oracle安装不上)
一.问题描述 1.ArcMap闪退 2.安装32位cx_oracle提示python目录不存在 二.解决方案 1.修改pythoncore的文件目录,指向C:\Python27\ArcGIS10.3\ ...
- python3.6的安装及cx_oracle安装
一.创建所需目录mkdir -p /home/用户名/software/python3.6.1mkdir -p /home/用户名/priv/bydmkdir -p /home/用户名/priv/by ...
- Cx_Oracle 安装
1. 下载安装 2.把oci.ddl oraociei11.dll 放到C:\Python33\Lib\site-packages路径下
- 使用pip安装 cx_Oracle 模块
1. 系统环境,linux, python3.5, pip以下命令的执行均使用root用户. 2. 执行 pip install cx_Oracle出错,提示不能定位Oracle的安装.出现该问题的原 ...
- Windows 环境下于虚拟环境安装源码安装 cx_oracle
安装前提条件: (1).安装 instantclient-basic-nt (2).安装 instantclient-sdk-nt (3).安装 Microsoft Visual C++ Compil ...
- 安装cx_Oracle 6
首先声明,本文是在Linux 环境下进行安装.不涉及Windows 版安装. 一. 了解cx_Oracle 安装要求 要python 通过cx_Oracle 6 操作Oracle 数据库,以下几个条件 ...
- Windows 环境下于虚拟环境中源码安装 cx_oracle
安装前提条件: (1).安装 instantclient-basic-nt (2).安装 instantclient-sdk-nt (3).安装 Microsoft Visual C++ Compil ...
随机推荐
- centos5 vim升级到7.4
vim在centos中的版本为7.0,导致很多插件都无法使用,所以想到升级一下. wget ftp://ftp.vim.org/pub/vim/unix/vim-7.4.tar.bz2 tar jvz ...
- 利用管道实现Shell多进程
shell中有个&,表示该程序在后台执行,其实是fork了一个子进程,跟系统调用是一样的. 在实际的操作过程中,有时需要控制后台程序的个数,毕竟启动太多的后台,会对服务的性能造成影响. 所以需 ...
- HDU 1213 How Many Tables (并查集)
How Many Tables 题目链接: http://acm.hust.edu.cn/vjudge/contest/123393#problem/C Description Today is Ig ...
- ecstore 后台登陆跳转到 api失败,中心请求网店API失败
解决过程没有具体参与,官方解决后回复的邮件,可以参考一下: 后台登陆错误图: 商派解决方法邮件: 特别注意:这个错误提示有时候也跟ecstore的nginx服务器伪静态有关,具体参考: htt ...
- 在Linux下部署activemq
今天的任务就是在一台新的服务器上继续部署activemq.其实都蛮简单的.首先先下载包:115U盘下载 2 上传到linux下的某个文件夹下.解压缩 tar -zxvf apache-activemq ...
- matlab和FPGA中无符号数和有符号数的转化(转)
在FPGA 设计过程中经常会遇到关于数表示之间的转化问题,最常见的是无符号数和有符号数之间的转化问题.(1)在FPGA设计过程中,能够很直接的看出数字的位宽,但经常以无符号数的形式输出,在后继的处理中 ...
- CSS构造列表
列表图片 背景列表 翻转列表 水平导航 内边距与外边距 Ul { List-style-type:none; Margin: 0; Padding: 0; } 使用图片作为列表图标 Ul { Marg ...
- java web,生成验证码图片的技术
偶然知道原来有些网站的验证码图片都是随机生成的,后来听人讲了一下,就做了这个小例子 生成图片,绘制背景,数字,干扰线用到了java.awt包,主要使用BufferedImage来生成图片,然后使用Gr ...
- PROCESS_YIELD()宏使用及过程分析<contiki学习笔记之八>
好吧,昨晚上研究了switch()的底层实现原理--发现它并不是一般C语言教科书上那样所言,当然,这对于本身就非常熟悉汇编的同学来说,是小菜一碟.世界上,很多事情是巧合与必然的结合体,没有无缘无故的爱 ...
- 发现一个挺好用的adb logcat工具
其实是个Notepad++插件 直接贴地址: [http://sourceforge.net/projects/androidlogger/] ============================ ...