Python读取Oracle路径

1 投票
3 回答
2083 浏览
提问于 2025-04-11 09:17

在我的电脑上,我写了一个小的Pylons应用程序,它可以连接到Oracle数据库。现在我想把它部署到我的服务器上,服务器运行的是Win2k3 x64版本。(我的电脑是32位的XP系统)而服务器上的Oracle安装也是64位的。

我之前遇到了关于加载OCI dll的错误,所以我在里安装了32位的客户端。

如果我把这个路径添加到PATH环境变量中,它就能正常工作了。但是我还想把这个Pylons应用程序作为一个服务运行(可以参考这个方法),我不想把这个32位的库放到所有其他应用程序的路径里。

我尝试使用sys.path.append("C:\\oracle32\\bin")来解决这个问题,但似乎没有效果。

3 个回答

0

在你运行python.exe之前,需要把c:\Oracle32\bin这个文件夹加到你的环境变量PATH里。
在Linux系统中,我也需要设置一个叫LD_LIBRARY_PATH的变量,目的是为了找到Oracle的库文件,然后才能调用python。我会用一些包装的脚本来设置这个变量,然后再调用Python。
在你的情况下,也许可以在服务启动的时候,调用一个.cmd或者.vbs的脚本,先设置好PATH变量,然后再用你的.py脚本来运行python.exe。

希望这些对你有帮助!

0

如果你的Python应用程序是在64位环境下运行的,那么你需要使用64位的Oracle oci.dll文件,而不是32位的版本。通常情况下,你需要在运行脚本之前,把系统路径更新一下,加入正确的Oracle Home的bin目录。具体的解决办法可能还会根据你用来从Python访问Oracle的组件不同而有所变化。

3

sys.path 是 Python 内部用来表示 PYTHONPATH 的一个东西。听起来你想要修改的是 PATH。

我不太确定这样做是否有效,但你可以试试:

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

撰写回答