Python读取Oracle路径

时间:2020-03-06 14:23:03  来源:igfitidea点击:

在我的桌面上,我编写了一个连接Oracle的小型Pylons应用程序。我现在正尝试将其部署到运行Win2k3 x64的服务器上。 (我的桌面是32位XP)服务器上的Oracle安装也是64位。

我在加载OCI dll时遇到错误,因此我将32位客户端安装到了C:\ oracle32中。

如果我将其添加到" PATH"环境变量中,则效果很好。但是我也想将Pylons应用程序作为服务运行(使用此配方),并且不想将此32位库放在所有其他应用程序的路径上。

我尝试使用sys.path.append(" C:\ oracle32 \ bin")`,但这似乎不起作用。

解决方案

sys.path是python的PYTHONPATH的内部表示形式,听起来像是我们要修改PATH。

我不确定这是否行得通,但是我们可以尝试:

import os
os.environ['PATH'] += os.pathsep + "C:\oracle32\bin"

在执行python.exe之前,需要将c:\ Oracle32 \ bin目录添加到环境的PATH变量中。
在Linux中,出于类似的原因,我需要在调用python之前设置LD_LIBRARY_PATH变量来查找Oracle库。我使用设置变量的包装器外壳脚本,然后调用Python。
就我们而言,也许我们可​​以在服务启动时调用一个.cmd或者.vbs脚本来设置PATH变量,然后使用.py脚本调用python.exe。

我希望这有帮助!

如果Python应用程序在64位空间中运行,则需要访问Oracle oci.dll的64位安装,而不是32位版本。通常,在运行脚本之前,我们将更新系统路径以包含相应的Oracle Home bin目录。解决方案也可能会有所不同,具体取决于我们要使用哪些组件从Python访问Oracle。