MAC电脑如何使用python 连接oracle数据库

与Windows 系统相比,Mac os系统连接数据库似乎要复杂一些

1.在python中导入oracle数据库相关的第三方库

import cx_Oracle

一开始我简单的以为安装好第三方库就可以了于是,我进行了接下来的数据库查询

conn=cx_Oracle.connect('username/password@localhost:端口/service name')
cur=conn.cursor()
dic={'begintime':"2022/05/24 08:00:00",'endtime':"2022/05/24 10:00:00"}
sql="select * from 表名 where time between to_date(:begintime,'yyyy/MM/DD HH24:MI:ss') and to_date(:endtime,'yyyy/MM/DD HH24:MI:ss')"
x=cur.execute(sql,dic)
input=x.fetchall()
print(input)

不出意外,出现error:

cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library

2.安装Oracle Client

在这一步,,,,我卡住了很久,我看到很多攻略都说Mac电脑已经不能直接安装oracle 了?又是docker,又是虚拟机,真的是给我搞的一脸懵逼。其实哪有那么复杂

oracle官网下载:

Instant Client for macOS (Intel x86)

 选择并创建目录为:/Users/user/opt/oracle/instantclient_19_8-basic

3.配置环境变量

(1)打开终端,输入  (注意xxx为用户名路径如san.li)

xxx$ vi ~/.bash_profile

(2)选择E,编辑文件

DYLD_LIBRARY_PATH="/Users/xxx/opt/oracle/instantclient_19_8-basic"
export DYLD_LIBRARY_PATH
export ORACLE_HOME=$DYLD_LIBRARY_PATH
export PATH=$ORACLE_HOME:$PATH

(3)esc退出编辑,:wq保存并退出

(4)生效配置

xxx$ .  ~/.bash_profile

至此,大功告成????no no no!!!

我以为之前的python查询数据库的语句可以执行了,,,,然而,还是出错,而且还是之前的错

我迷惑了,,,,我这一顿操作,,,啥用没有啊

我又卡住了,,,不断尝试,于是,我解决了,虽然我也不知道为什么这样就可以,也希望有大佬能看到为我解惑,或者有更好的解决方法!

4.一招定胜负

简单粗暴

将instantclient_19_8-basic下的所有文件复制到python项目的根目录下,结束!

你可能感兴趣的:(python,oracle,macos)