美文网首页
安装cx_oracle

安装cx_oracle

作者: 黑猫不睡1920 | 来源:发表于2019-03-10 11:41 被阅读0次

    本文主要介绍在Linux(CentOS)下将Python的版本升级为3.6.2的方法

    -升级python

    [Linux下升级安装Python-3.6.2版本] (https://www.cnblogs.com/tssc/p/7762998.html)
    

    -检查对应环境(python版本 pip版本)

    [Installing Packages — Python Packaging User Guide] (https://packaging.python.org/tutorials/installing-packages/)
    

    -对应的包下载

    python 想远程访问 Oracle 数据库,需要 cx_Oralce 模块,又依赖Oracle Instant Client 代替完整的Oracle Clien
    
    我的系统是Linux x86-64 ,可以输入 uname -a 命令来查看。
    
    所以去oracle官网下载以下两个文件:basic和sdk。(版本自选)
    
    [依赖包官方地址] (https://img.haomeiwen.com/i13011342/59829c8f53cc821d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
    
    官方文件下载地址:
    
    [Instant Client for Linux x86-64 (64-bit)](http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html)
    
    下载后将这两个文件放在 $ORACLE_HOME 录下,并解压得到instantclient_11_2,
    
    (ps:
    
    如果不是root用户登录 或者不是解压在 $ORACLE_HOME目录下 然后需要设置环境变量,如果登陆用户不是root用户,所以修改.bashrc文件来设置环境变量。
    
    通过指令:vi ~/.bashrc,添加如下两行内容:
    
    ORACLE_HOME=/你的目录/instantclient_11_2/
    
    LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
    
    修改完成之后,使你的修改生效,使用指令 source ~/.bashrc
    
    )
    
    接下来是建立一个连接libclntsh.so,指令如下:
    
    cd /你的目录/instantclient_11_2/
    
    ln -s libclntsh.so.11.1 libclntsh.so
    
    最后是安装cx_oracle
    
    我下载的cx_oracle版本是cx_Oracle-7.1.1.tar.gz
    
    (下载地址:[cx-Oracle · PyPI](https://pypi.org/project/cx-Oracle/#files) )
    
    解压后,进入解压目录安装:
    
    tar -xvf cx_Oracle-7.1.1.tar.gz
    
    cd cx_Oracle-7.1.1
    
    python setup.py install
    
    这样就安装好了,可以使用python指令验证:
    
    import cx_Oracle
    
    • 测试验证小代码(python):
    #! coding:utf-8
    
    import cx_Oracle
    
    conn = cx_Oracle.connect('oracle_user/passwd@172.16.179.158:1521:ora11g')
    
    cur = conn.cursor()
    
    cur.execute(" \
    
    SELECT TABLE_NAME,TABLESPACE_NAME,CLUSTER_NAME from user_tables where rownum < 5 \
    
    ")  # 查询数据内容
    
    rows = cur.fetchone()  # 由于每条数据格式一样,只取一条内容格式来赋值
    
    rowsList = list(rows)
    
    TABLE_NAME,TABLESPACE_NAME,CLUSTER_NAME = rowsList  # 取出查询到的数值,并赋值给参数
    
    print(TABLE_NAME)
    
    while rows is not None:
    
        f = open('FileTable.txt', 'a+')
    
        f.write(str(rows).lstrip('(').rstrip(')').replace(', ', '\t').replace("'", "") + '\n')
    
        rows = cur.fetchone()
    
    cur.close()
    
    conn.close()
    

    -测试结果(over)

    image

    相关文章

      网友评论

          本文标题:安装cx_oracle

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