質問

Tomcatを使用してcx_Oracleをロードしようとしています。

Python からのロードは正常に機能しますが、JYTHON では「モジュールが見つかりません」というメッセージが表示されます。私の system.path には、cx_Oracle.so を含むサイト パッケージが含まれています。

私は jython を初めて使用するため、すべての変数に慣れる時間がありませんでしたが、明らかに何かが間違っていますが、必要な環境変数はすべてエクスポートされていると思います。

役に立ちましたか?

解決

ベン、CPython 実装で Python で動作するすべてのモジュールが他の実装でも動作するわけではありません。そのようなモジュールがシステム固有の呼び出しを使用する場合、または何らかの .dll/.so ファイルにバインドされる場合、他の Python 実装では機能しません。cx_Oracle は、次のようなモジュールの 1 つです。Oracle クライアントにバインドされます (さまざまな Oracle バージョンおよびさまざまなオペレーティング システムに対応する cx_Oracle バージョンがあります)。

JythonからOracleにアクセスしたい場合はJDBCドライバーを使用すると良いと思います。その後、JDBC 呼び出しを使用するか、 zxJDBC DB API 呼び出し経由で JDBC ドライバーを利用できるようにする Jython モジュール。私は両方のJDBCを使用しました( zxJDBC) および cx_Oracle を CPython および Jython から動作できるプログラムに含めます。実際の動作を確認するには、私のレシピを参照してください Oracle DBスキーマをテキストにダンプします

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top