美文网首页
python3.7X与Oracle交互(Mac)

python3.7X与Oracle交互(Mac)

作者: Hu_xz | 来源:发表于2019-07-29 16:57 被阅读0次

    说在前面

    笔者通过py3连接数据库的时候出现一下错误:

    cx_Oracle.DatabaseError: DPI-1047: 64-bit Oracle Client library cannot be loaded: "dlopen(libclntsh.dylib, 1): image not found". See https://oracle.github.io/odpi/doc/installation.html#macos for help
    

    在通过数篇博客查阅后,发现需要一行操作mkdir /opt/oracle,可是发现此文件夹不存在。其实在mbp(MOS10.14.5版本)是没有opt这个文件夹的,踩坑。经过2天爬出来了....

    解决方法

    安装cx_oracle

    pip install cx_oracle
    

    下载

    去oracle下载mac版本64bitclient basicclient sdk,笔者下的是18.1

    basic.png
    sdk.png

    编译安装

    mkdir opt  #因为mac没有opt文件夹
    mkdir /Users/username/opt/oracle                    #username指的是自己设定用户名称
    # 可以直接解压缩并移动到oracle文件夹中的,也可以通过命令去完成
    unzip instantclient-sdk-macos.x64-18.1.0.0.0-2.zip #解压
    unzip instantclient-basic-macos.x64-18.1.0.0.0.zip #解压
    cd instantclient_18_1 2/sdk
    unzip ottclasses.zip
    cd ..
    cp -R ./sdk/* .
    cp -R ./sdk/include .
    ln -s libocci.dylib.18.1 libocci.dylib
    ln -s libclntsh.dylib.18.1 libclntsh.dylib
    

    下面有相关图片的展示:


    oracle文件夹中的文件.png
    instantclient_18_1文件夹.png

    更改环境变量

    vi ~/.bash_profile
    #输入i进入编辑模式
    export ORACLE_HOME=/Users/guanguan/oracle/instantclient_18_1
    export DYLD_LIBRARY_PATH=$ORACLE_HOME
    export LD_LIBRARY_PATH=$ORACLE_HOME
    

    输入完成后按esc,以及·:wq保存,输入source ~/.bash_profile使环境变量生效

    测试环境变量是否生效

    echo $ORACLE_HOME
    
    image.png

    成功连接oracle数据库

    完成图.png

    相关文章

      网友评论

          本文标题:python3.7X与Oracle交互(Mac)

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