我正在尝试使用 tomcat 加载 cx_Oracle。
从 python 加载工作正常,但对于 jython 我得到“找不到模块”。我的 system.path 包括包含 cx_Oracle.so 的站点包。
我是 jython 的新手,我还没有时间熟悉所有变量,但我相信我已经导出了所有必要的环境变量,但显然有些不对劲。
Ben,并非所有在 CPython 实现中使用 Python 的模块都适用于其他实现。如果此类模块使用特定于系统的调用,或绑定到某些 .dll/.so 文件,它将不适用于其他 Python 实现。cx_Oracle 就是这样一个模块:它绑定到Oracle 客户端(有cx_Oracle 版本,用于各种Oracle 版本和各种操作系统)。
如果您想从 Jython 访问 Oracle,我认为您应该使用 JDBC 驱动程序。然后,您可以使用 JDBC 调用,或使用zxJDBC
Jython 模块,该模块通过 DB API 调用使 JDBC 驱动程序可用。zxJDBC
我在可以通过 CPython 和 Jython 运行的程序中同时使用了 JDBC (with ) 和 cx_Oracle。要查看它的实际效果,请查看我将 Oracle db 模式转储为文本的方法