美文网首页
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