在Tomcat上使用Jython运行cx_Oracle

2 投票
1 回答
1043 浏览
提问于 2025-04-16 04:44

我正在尝试在tomcat中加载cx_Oracle这个库。

在python中加载没问题,但在jython中却出现了“找不到模块”的错误。我的系统路径中包含了site-packages文件夹,而这个文件夹里有cx_Oracle.so这个文件。

我对jython还不太熟悉,也没时间去了解所有的变量,但我相信我已经导出了所有必要的环境变量,虽然显然还是出了点问题。

1 个回答

4

Ben,并不是所有在CPython实现中能用的模块,在其他实现中也能用。如果某个模块使用了特定系统的调用,或者绑定了一些.dll/.so文件,那它在其他Python实现中就无法工作。cx_Oracle就是这样一个模块:它绑定了Oracle客户端(cx_Oracle有不同版本,适用于各种Oracle版本和操作系统)。

如果你想通过Jython访问Oracle,我建议你使用JDBC驱动。这样你就可以使用JDBC调用,或者使用zxJDBC这个Jython模块,它可以通过DB API调用来使用JDBC驱动。我在可以同时在CPython和Jython中工作的程序中,使用过JDBC(配合zxJDBC)和cx_Oracle。想看看实际效果,可以参考我这篇关于将Oracle数据库结构导出为文本的教程。

撰写回答