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

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

内容简介: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


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

查看所有标签

猜你喜欢:

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

Algorithms

Algorithms

Sanjoy Dasgupta、Christos H. Papadimitriou、Umesh Vazirani / McGraw-Hill Education / 2006-10-16 / GBP 30.99

This text, extensively class-tested over a decade at UC Berkeley and UC San Diego, explains the fundamentals of algorithms in a story line that makes the material enjoyable and easy to digest. Emphasi......一起来看看 《Algorithms》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具