美文网首页
纯离线linux系统用Python连接Oracle

纯离线linux系统用Python连接Oracle

作者: 豆瓣掌 | 来源:发表于2019-07-18 19:07 被阅读0次

    工作中需要对Oracle数据库进行连接处理,由于对Python语言较为熟悉,决定配置Python连接Oracle12C数据库。开发机在公司内网,无法访问互联网,也就无法使用pip等简单的安装方式,只能把安装包下载下来,拷贝到服务器中进行安装。最初,我通过下载Python安装包的方式来安装,发现内网机器中,一些基础的包都有缺失,需要根据报错信息先后下载10余个额外的包进行配置,操作复杂,并且容易出现版本错误。多次尝试不成功之后,决定直接安装Anaconda,希望依靠Anaconda相对完善的包来实现顺利安装,最终实践成功。

    1. 下载安装anaconda

    1.1 下载anaconda

    由于是内网机,下载传输较为麻烦,直接找同事要到了Anaconda-3.4.4.0-Linux-x86_64.sh,该版本的anaconda中,Python版本为Python 3.6.1版。各位可以直接到annaconda官网下载操作系统对应的最新版anaconda,当前Python版本为3.7.
    https://www.anaconda.com/distribution/#download-section

    1.2 安装Anaconda

    (1) bash Anaconda安装包名

    安装Anaconda

    (2)按照提示直到安装完成

        我这里直接用了默认的安装路径,也选择了配置到环境变量中。安装完成后,~/.bashrc中,出现这样的一条:

    Anaconda环境变量配置

    (3)环境验证

        通过which命令确认一下,python和anaconda的环境变量配置是否正确。

    确认环境变量配置

    2. 下载配置cx_Oracle

    2.1 下载cx_Oracle

    下载地址:https://pypi.org/project/cx-Oracle/#files

    选择相应版本下载(我这里选择了64位服务器、Python3.6的版本):

    2.2 安装cx_Oracle

    直接在cx_Oracle路径下执行:

    #pip install cx_Oracle*.whl

    3. 配置Oracle instantclient

    3.1 下载相应版本的instantclient和sdk

    下载地址:https://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html

    将两个文件放在同一个路径下,进行解压,由于解压后路径相同,两个压缩包将解压到同一个目录中:

    unzip instantclient-basic-linux.x64-12.1.0.2.0.zip

    unzip instantclient-sdk-linux.x64-12.1.0.2.0.zip

    3.2  配置环境变量

    Bash作为常用的linux shell,有两种运行模式:

    (1)Interactive login shell

    login shell以下面的顺序读取文件,如果文件不全,以能读到的第一个文件为准:

    /etc/profile --> ~/.bash_profile --> ~/.bash_login --> ~/.profile

    (2)Interactive non-login shell

    非交互式shell以下面的顺序读取文件,也以读到的第一个文件为准:

    /etc/bash.bashrc --> ~/.bashrc

    /etc/bash.bashrc 和 ~/.bashrc,只对当前用户有效。如果希望所有用户、所有程序都可以读到环境变量,需要将其写在/etc/profile、~/.bash_profile、~/.bash_login或~/.profile中。

    这里,我将其配置在~/.bashrc中,与anaconda配置在一起,:

    ~/.bashrc文件

    保存文件后,# source ~/.bashrc,使其生效。

    4. 验证

    4.1 修改host

        (1)直接执行连接操作报错

                查看host文件,发现未配置hostname:            

    (2)修改/etc/hosts文件

            * 通过hostname命令查到hostname

            * 将host添加到/etc/hosts文件中            

    4.2 再次验证生效:

    声明:本文由豆瓣掌原创,请在获得许可后转载。

    相关文章

      网友评论

          本文标题:纯离线linux系统用Python连接Oracle

          本文链接:https://www.haomeiwen.com/subject/bhwnhctx.html