【问题标题】:Error trying to read oracle database with python尝试使用 python 读取 oracle 数据库时出错
【发布时间】:2018-07-31 13:28:02
【问题描述】:

所以我在我的 linux 机器上运行我在 Oracle 网站上找到的这个示例。我以前见过这样的问题,但这些建议与我的情况无关。我使用 pip install 下载了 cx_oracle,但我不完全确定它为什么无法连接。

import cx_Oracle

con = cx_Oracle.connect('pythonhol/welcome@127.0.0.1/orcl')
print (con.version)

con.close()

这是我得到的错误:

cx_Oracle.DatabaseError:DPI-1047:无法加载 64 位 Oracle 客户端库:“libclntsh.so:无法打开共享对象文件:没有这样的文件或目录”。请参阅https://oracle.github.io/odpi/doc/installation.html#linux 寻求帮助

我查过这个错误,但根据我的谷歌搜索,这似乎与 Oracle 无关。任何指导表示赞赏。

【问题讨论】:

  • 您是否按照该链接中的说明安装 64 位 Oracle 客户端库?没有它,cx_oracle 将无法工作。
  • 是的,该库已安装
  • 好的。您在 LD_LIBRARY_PATH 中解压缩它的位置吗? echo $LD_LIBRARY_PATH另见官方故障排除文档:cx-oracle.readthedocs.io/en/latest/…
  • 那么libclntsh.so 在你的机器上在哪里?
  • $LD_LIBRARY_PATH 位于此处:/home/david/Documents/oracle:我正在运行的 pyhton 文件也是如此

标签: python python-3.x oracle cx-oracle


【解决方案1】:

您的系统中似乎没有安装 oracle 客户端库。
在连接到oracle数据库服务器之前,您必须安装oracle数据库服务器的客户端包,您可以从oracle client library.下载即时客户端库

安装后运行sn -p:

导入 cx_Oracle con = cx_Oracle.connect('pythonhol/welcome@127.0.0.1/orcl') 打印('版本:',con.version) con.close() # 输出:版本:12.0.1

【讨论】:

  • 不幸的是,我已经安装了适当的客户端库。感谢您的建议
猜你喜欢
  • 2016-07-23
  • 2022-06-14
  • 2014-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多