【问题标题】:What is necessary to connect Python to Oracle Database将 Python 连接到 Oracle 数据库需要什么
【发布时间】:2019-11-08 12:51:45
【问题描述】:

我一直在尝试使用客户端版本 10.2 将 Python 3.7.1 连接到 TOAD 11。 当我尝试运行下面的代码时

import cx_Oracle

connection = cx_Oracle.connect('myusername/mypassword@orcl')

cursor = connection.cursor()

querystring = "select * from TABLE_NAME"

cursor.execute(querystring)

我收到以下错误:

DatabaseError:DPI-1047:找不到 64 位 Oracle 客户端库:“C:\ORACLE\PRODUCT\10.2.0\CLIENT_1\bin\oci.dll 不是正确的体系结构”。请参阅https://oracle.github.io/odpi/doc/installation.html#windows 寻求帮助

我一直在尝试下载 64 位客户端,但我不明白为什么我需要一个,因为 TOAD 并且它当前的客户端是 32 位的。问题是对于我的公司,每当要求安装某些东西时,它并没有说明描述中的位(由于网络的安全性,除非得到 IT 部门的批准,否则我无法下载任何东西,并且只能通过他们的服务器下载)。我试图下载即时客户端 11g,但它似乎已安装,但 10.2 版本仍然是我在我的机器上能找到的唯一一个。我看不到它在任何地方的位置,所以我什至无法为它设置环境变量,但我可以在“卸载向导”中看到它,但它没有显示它的位置。我什至不知道 11g 是 64 位还是 32 位。

以前有人解决过这个问题吗? 我的代码关闭了吗,也许这就是它不起作用的原因?

【问题讨论】:

  • 在我看来,你错了。您不连接到 TOAD,而是连接到 Oracle 数据库。 TOAD 是用于访问它的工具(数据库);为什么 Python 会连接到它?无论如何:即使我是对的,我也无能为力——我不使用 Python。

标签: python sql oracle toad cx-oracle


【解决方案1】:

错误消息说您需要 64 位 Oracle 客户端,因为 Python 是 64 位的。

对于 cx_Oracle,您需要 Oracle 客户端库版本 11.2 或更高版本。您可以从 http://www.oracle.com/technetwork/topics/winx64soft-089540.html 获取作为 Oracle Instant Client 一部分的库。在 Windows 上,您还需要下载页面上注明的 Redistributable。

另请参阅https://cx-oracle.readthedocs.io/en/latest/installation.html#installing-cx-oracle-on-windows 上的 cx_Oracle 安装说明

您必须与您的 IT 人员合作才能实现这一目标。

【讨论】:

    猜你喜欢
    • 2020-10-12
    • 1970-01-01
    • 2023-04-02
    • 2015-12-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-01
    相关资源
    最近更新 更多