运行 一个 Python 64 位机器上的 32 位脚本 linux 使用 32 位客户端连接到 oracle DB

Running a Python Script in 32 Bit on 64 linux machine to connect to oracle DB with 32 bit client

我正在尝试设置一个 cronjob,每天在给定时间执行 python (3.6) 脚本,该脚本连接到带有 32 位客户端的 oracle 12g 数据库(利用 cx_Oracle 和 sqlalchemy 库)。代码本身是在 win64 位机器上开发的。

但是,在尝试将脚本部署到 Ubuntu 16.04 服务器时,我 运行 在涉及 32 位和 64 位架构时陷入两难境地。

此时我在尝试 运行 python 脚本时收到的错误是指缺少 oracle 客户端 (DPI-1047)。然而,我在windows中已经遇到了类似的问题,当时需要将python版本切换到32位版本并安装32位oracle客户端。

这在 ubuntu 情况下是否也有必要,或者是否需要进行类似的测量?如果是这样,我如何安装 ubuntu 和 32 位的 运行 python3.6 以及 32 位的 oracle 客户端?

我对你的问题有点困惑,但这应该给出一些澄清:

  • 32 位客户端可以连接到 64 位 Oracle 数据库服务器 - 反之亦然
  • 您可以在 64 位计算机上安装和 运行 32 位应用程序 - 这至少对 Windows 有效,我不知道它在 [=25= 上如何工作].
  • 您的应用程序(在您的情况下为 python)必须 具有与安装的 Oracle 客户端相同的 "bitness"。