1

cx_Oracle バージョン 5.1 (autoload=True) を使用して Oracle にテーブルを反映する際に問題が発生しています。cx_Oracle バージョン 5.0.4 ではすべて正常に動作します。エラーは次のとおりです。

DatabaseError: (DatabaseError) ORA-01460: unimplemented or unreasonable conversion requested 

どういうわけか、オラクルに送信されたクエリは、テーブル名とスキーマを正しく置き換えていません。誰かがこのようなものを見て、解決策を持っていますか? すべてのテーブルに対して列を手動で定義することは避けたいと思います。できれば最新版も使いたいです。

4

2 に答える 2

1

この問題を修正するパッチを提出しました。Unicode のサポートが cx_Oracle に追加され、その後削除されました。SQLAlchemy の cx_oracle.py には、cx_Oracle モジュールのバージョンをチェックする行がいくつかあります。このパッチは、元に戻された Unicode サポートを考慮して、これらのバージョン チェックを更新します。

数週間前に初めて SQLAlchemy を cx_Oracle と連携させるのに役立ったのはあなたの質問だったと思います。:-D

于 2011-12-01T11:21:28.597 に答える
1

Alex のパッチのスレッドで説明されているように、解決策は NLS_LANG 環境変数を設定して、cx_oracle が適切なコンバーターを使用できるようにすることです。例えば:

import os 
os.environ["NLS_LANG"] = ".UTF8"
于 2012-11-05T16:02:54.910 に答える