gpt4 book ai didi

python-3.x - 如何修复 : cx_Oracle. DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库 - Python

转载 作者:行者123 更新时间:2023-12-04 15:17:23 28 4
gpt4 key购买 nike

我正在使用 cx_oracle 7 和 python 3.6.7 建立与远程服务器中的 oracle 11g 的连接。我在 Ubuntu 18.04 中的操作系统

我已经使用 libclntsh.so 安装了 oracle 即时客户端库,但没有得到预期的输出。

这是我用来连接到 oracle db 的代码

connection = cx_Oracle.connect("username/password@host/port")
print (connection.version)
connection.close()

当脚本运行时,我希望获得连接版本,而不是收到以下错误消息

File "script.py", line 13, in connection = cx_Oracle.connect("username/password@host/port") cx_Oracle.DatabaseError: DPI-1047: Cannot locate a 64-bit Oracle Client library: "libclntsh.so: cannot open shared object file: No such file or directory". See https://oracle.github.io/odpi/doc/installation.html#linux for help

最佳答案

经过更多研究后,我从 Ubuntu community 得到了解决方案, 安装 oracle Instant-client 后,您必须按如下方式集成 oracle 库:

export LD_LIBRARY_PATH=/usr/lib/oracle/<version>/client(64)/lib/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}

An example for 12.1 version for Linux x86_64 can be:

exportLD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}


在哪里 <version>表示您的 oracle 即时客户端的版本,例如 11.2、12.2
连接参数应该如下 connection = cx_Oracle.connect("username/password@host/service_name e.g orcl")要获取监听器/服务名称,请在 oracle sqlplus 中键入以下内容
SQL> show parameter local_listener
VALUE 下的文字是您的监听器/服务名称。

关于python-3.x - 如何修复 : cx_Oracle. DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库 - Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55823744/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com