首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Mac上的Python获取与Oracle的错误连接-无法找到Oracle客户端库

使用Mac上的Python获取与Oracle的错误连接-无法找到Oracle客户端库
EN

Stack Overflow用户
提问于 2020-06-25 21:38:12
回答 2查看 4.3K关注 0票数 1

我试图连接到Mac上Python中的Oracle数据库,但得到了以下错误:

cx_Oracle.DatabaseError: DPI-1047:无法找到64位Oracle客户端库:"dlopen(libclntsh.dylib,1):图像未找到“。请参阅 https://oracle.github.io/odpi/doc/installation.html#macos 以获得帮助

导致错误的代码是dsn_tns = cx_Oracle.makedsn(host='',port='',service_name=‘) conn =cx_Oracle.connect(用户=’‘,密码=’‘,dsn=dsn_tns)

使用cx_Oracle库

这是我的lib文件夹

$ ls -la ~/lib

总计274272

drwxr-xr-x7职员224 6月25日13:31。

德鲁-xr+ 113员工3616 6月25日14:20

lrwxr-xr-x1员工61六月24 18:03 libclntsh.dylib -> ->

lrwxr-xr-x1员工51 6月25日13:31 libclntsh.dylib.19.1 -> ->

-rwxr-xr-x@ 1职员4803832 6月24日18:31 libclntshcore.dylib.19.1

-rwxr-xr-x@ 1员工8349944 6月24日18:30 libnnz19.dylib

-rwxr-xr-x@ 1员工125518764 6月24日18:31 libociei.dylib

MacOS: Catalina版本10.15.5 Python3.7.7 Oracle客户端

EN

回答 2

Stack Overflow用户

发布于 2020-06-26 03:41:29

在cx_Oracle 8中,有一个新的初始化方法,您可以在脚本中调用它来指定即时客户端目录:

代码语言:javascript
复制
import platform

if platform.platform()[:6] == 'Darwin':
    cx_Oracle.init_oracle_client(lib_dir="/Users/cjones/instantclient_19_3")

您也可以在适当的站点包目录中添加一个符号链接,但我认为init_oracle_client()更容易一些。

检查更新的安装说明和新的初始化文档

票数 0
EN

Stack Overflow用户

发布于 2022-04-07 16:26:05

下面是一个更详细的逐步说明:

  1. https://www.oracle.com/database/technologies/instant-client/macos-intel-x86-downloads.html下载基本包(ZIP)。解压缩文件并将文件夹instantclient_19_8 (或任何最新版本的名称)保存在下载文件夹中。
  2. 假设您已经在您的python中安装了cx_Oracle、sys和os包,那么在python中运行以下代码: 导入cx_Oracle导入sys lib_dir = os.path.join(os.environ.get("HOME")、“下载”、"instantclient_19_8") cx_Oracle.init_oracle_client(lib_dir=lib_dir)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62584718

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档