社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

如何修复:cx_oracle.databaseerror:dpi-1047:找不到64位Oracle客户端库-python

Ian Nato • 4 年前 • 251 次点击  

我正在使用cx_Oracle7和python 3.6.7建立与远程服务器中的Oracle11g的连接。我在Ubuntu的操作系统18.04

我已经安装了带有libclntsh的Oracle即时客户端库,但是没有得到预期的输出。

这是我用来连接到Oracle数据库的代码

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

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

文件“script.py”,第13行,in connection=cx_oracle.connect(“username/password@host/port”)cx_oracle.databaseerror:dpi-1047:找不到64位Oracle 客户端库:“libclntsh.so:无法打开共享对象文件:否 文件或目录”。见 https://oracle.github.io/odpi/doc/installation.html#linux 寻求帮助

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/38047
 
251 次点击  
文章 [ 1 ]  |  最新文章 4 年前
Ian Nato
Reply   •   1 楼
Ian Nato    5 年前

经过更多的研究,我从 ubunu community ,在安装了Oracle InstantClient之后,您必须按以下方式集成Oracle库:

出口 ld_library_path=/usr/lib/oracle/ <version> /客户端(64)/lib/$ld_library_path:+:$ld_library_path_

例如,Linux x86的12.1版本:

出口 ld_library_path=/usr/lib/oracle/12.1/client64/lib/$ld_library_path:+:$ld_library_path_

在哪里? <版本> 指示Oracle intantclient的版本,例如11.2、12.2
连接参数应如下所示 connection = cx_Oracle.connect("username/password@host/service_name e.g orcl")

要获取侦听器/服务名称,请在Oracle sqlplus中键入以下内容

SQL> show parameter local_listener

值是侦听器