Ubuntu下Python通过SQLAlchemy库访问Oracle数据库

栏目: Python · 发布时间: 8年前

内容简介:Ubuntu下Python通过SQLAlchemy库访问Oracle数据库

SQLAlchemy并不是数据库驱动,Python访问Oracle数据的驱动是cx_Oracle,但是这个驱动依赖于Oracle instant client。所以 python 如果想通过SQLAlchemy库访问Oracle数据库,那么需要先安装Oracle instant client、再安装cx_Oracle、最后安装SQLAlchemy。

搞了一圈下来,发现这个过程比较繁琐,现在的资料有些老旧,写篇文档和大家分享下。

安装Oracle instant client

去Oracle官网下载安装包

http://www.oracle.com/technet...

我看的时候已经是版本 12.1.0.2.0 ,同一个版本下有很多包,支持cx_Oracle需要下载下面两个包

oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm

oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm

简称basic、devel包

basic包含有所有的oracle client lib/bin 文件

devel包含了oracle client 外部接口的头文件

安装

Oracle官方只提供了RPM包,我的操作系统是Ubuntu,需要安装一个alien进行转换。

sudo install alien 就可以完成安装

用alien 将 RPM包转换成DEB包,

sudo alien -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm 
   sudo alien -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm

然后安装deb包

sudo dpkg -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.deb
   sudo dpkg -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.deb

basic包安装成功后,在/usr/lib/oracle/12.1/client64/目录拷贝了lib、bin库,devel包安装后会/usr/lib/oracle/12.1/client64/目录下拷贝include头文件。

但是,我在用alien转devel RPM包时失败了,后来我就把RPM包解压,发现devel RPM包里面就是一些include文件,把这些文件拷贝到/usr/lib/oracle/12.1/client64/include目录,也能正常工作。

安装包的作用是在指定目录下存放bin、lib、include头文件这些东西,如果安装不了,可以自己解压执行。

设置环境变量

设置环境变量的目的是为了让其它程序能找到安装的Oracle库

$ export ORACLE_HOME=/usr/lib/oracle/11.2/client64 
   $ export LD_LIBRARY_PATH=$ORACLE_HOME/lib

链接oracle库到系统目录

在 /etc/ld.so.conf.d 目录下创建 oracle.conf文件,在文件里面指定oracle库的路径/usr/lib/oracle/11.2/client64/lib

执行链接配置

$ sudo ldconfig

安装cx_Oracle

安装libaio包,libaio是 Linux 下的一个异步非阻塞接口,它提供了以异步非阻塞方式来读写文件的方式,读写效率比较高,oracle SQLPlus库依赖它。

sudo apt-get install libaio1

所有准备工作完成后,执行包安装命令就可以成功安装cx_Oracle了

sudo apt-get install cx_Oracle

如果前期的准备工作没做好,会报各种安装失败,大家可以对照安装步骤,比对前面的操作是否正确。

安装sqlalchemy

最后使用 sudo apt-get install sqlalchemy 就可以完成安装了

本文永久更新链接地址http://www.linuxidc.com/Linux/2018-01/150670.htm


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

缺失的终结

缺失的终结

【美】克尔•哈里斯 / 艾博 / 中国人民大学出版社 / 2017-6-15 / 39.00元

《缺失的终结》是一本反思互联网时代对普通人日常生活影响的书。作者认为,我们都曾渴望有一段远离现实生活烦扰的“瓦尔登湖”时光,悠闲地沉入自己的内心世界,从飞速变化的漩涡中暂时“缺失”。然而,互联网生活让我们每时每刻被互联网化,手环监测着我们的心跳和睡眠,微信、脸书、推特让我们人在床上就与世界链接起来,跑步了吗?走路了吗?英语单词背了吗?早餐的卡路里是否超标?坐在办公室,无数亟待处理的信息狂风暴雨般地......一起来看看 《缺失的终结》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具