zoukankan      html  css  js  c++  java
  • centos 6.5 安装 cx_Oracle 5.12 步骤 ,使用oracle instantclient12.1

    新建sh文件
    内容如下:
    以su用户执行这个文件
    #!/bin/bash
     
    # INSTALL ORACLE INSTANT CLIENT #
    #################################
     
    # NOTE: Oracle requires at least 1176 MB of swap (or something around there).
    # If you are using CentOS in a VMWare VM, there's a good chance that you don't have enough by default.
    # If this describes you and you need to add more swap, see the
    # "Adding a Swap File to a CentOS System" section, here:
    # http://www.techotopia.com/index.php/Adding_and_Managing_CentOS_Swap_Space
     
    # Install basic dependencies
    sudo yum -y install libaio bc flex
     
    echo "Now go get some the following two RPMs ..."
    echo "- basic: oracle-instantclient12.1-basic-12.1.0.1.0-1.x86_64.rpm"
    echo "- SDK/devel: oracle-instantclient12.1-devel-12.1.0.1.0-1.x86_64"
    echo "... from this URL: http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html"
    echo "WARNING: It's pretty annoying, they make you sign up for an Oracle account, etc."
    echo 'I will assume you have put these two files are into the same folder'
    echo "Press any key once you're ready" && read -n 1 -s
     
    sudo rpm -ivh oracle-instantclient12.1-basic-*
    sudo rpm -ivh oracle-instantclient12.1-devel-*
     
    # SET ENVIRONMENT VARIABLES #
    #############################
     
    # Source for this section: http://cx-oracle.sourceforge.net/BUILD.txt
     
    # (SIDENOTE: I had to alter it by doing some digging around for where the Oracle RPMs really installed to;
    # if you ever need to do this, do a command like this:
    #     rpm -qlp <rpm_file_of_concern.rpm>)
     
    echo '# Convoluted undocumented Oracle bullshit.' >> $HOME/.bashrc
    echo 'export ORACLE_VERSION="12.1"' >> $HOME/.bashrc
    echo 'export ORACLE_HOME="/usr/lib/oracle/$ORACLE_VERSION/client64/"' >> $HOME/.bashrc
    echo 'export PATH=$PATH:"$ORACLE_HOME/bin"' >> $HOME/.bashrc
    echo 'export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:"$ORACLE_HOME/lib"' >> $HOME/.bashrc
    . $HOME/.bashrc
     
    # INSTALL cx_Oracle #
    #####################
     
    pip install cx_Oracle
    

      

     
     
     
     
     
     
    如果执行出错,那么请下载cx_Oracle 5.12的源码进行编译
    下载地址http://cx-oracle.sourceforge.net/
    请对应python版本、OS版本
    #python3 setup.py build install 
    请修改setup.py中的
    filesToCheck = [
                    ("11g", "libclntsh.so.12.1"),
                    ("10g", "libclntsh.so.10.1"),
                    ("9i", "libclntsh.so.9.0")
    因为我们安装的instantclient12.1是12.1版本,所以安装前检查文件的路径应该是libclntsh.so.12.1。
     
    然后在python3中import cx_Oracle
    不报错说明安装成功。
     

    ---更新 

    如果出现ImportError: libclntsh.so.11.1: cannot open shared object file: No such file or directory
    说明路径不对,没有加载上
    执行# find / -name libclntsh.so.*获得实际的路径是
    /usr/lib/oracle/12.1/client64/lib/libclntsh.so.12.1
    那么要把这个路径加载上

    编辑/etc/ld.so.conf

    gedit /etc/ld.so.conf

    在最后一行输入获取的路径

    /usr/lib/oracle/12.1/client64/lib/

    别忘了最后#ldconfig一下

  • 相关阅读:
    分析建模中的行为分析
    SOLID总结(未完待续)
    分析建模的五个子过程中为什么有个编码子过程?
    用例建模的五个子过程
    类之间的关系
    python cx_Freeze安装详解、打包exe文件简解
    pyautoit:OSError: [WinError 193] %1 不是有效的 Win32 应用程序
    Python 动态导入类并运行其中的方法
    比较2个字符串,输出看起来一样,但比较起来不同
    pyautogui 文档(五):截图及定位功能
  • 原文地址:https://www.cnblogs.com/zihuxinyu/p/3549411.html
Copyright © 2011-2022 走看看