我正在尝试使用 tomcat 加载 cx_Oracle。
从 python 加载工作正常,但对于 jython 我收到“找不到模块”。我的 system.path 包括包含 cx_Oracle.so 的站点包。
我是 jython 的新手,我没有时间熟悉所有变量,但我相信我已经导出了所有必要的环境变量,尽管显然有些问题。
最佳答案
Ben,并非所有在 CPython 实现中与 Python 配合使用的模块都可以在其他实现中使用。如果此类模块使用系统特定的调用,或绑定(bind)到某些 .dll/.so 文件,它将无法在其他 Python 实现上工作。 cx_Oracle就是这样一个操作系统模块:它绑定(bind)到Oracle客户端(对于各种Oracle版本和各种操作系统都有cx_Oracle版本)。
我认为如果您想从 Jython 访问 Oracle,您应该使用 JDBC 驱动程序。然后,您可以使用 JDBC 调用,或使用 zxJDBC
Jython 模块,该模块使 JDBC 驱动程序可通过 DB API 调用使用。我在可以通过 CPython 和 Jython 运行的程序中使用了 JDBC(使用 zxJDBC
)和 cx_Oracle。要查看它的实际效果,请查看我的食谱 dump Oracle db schema to text
关于python - 在 tomcat 上的 jython 下运行 cx_Oracle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3820593/