環境: Windows 7 の Eclipse Indigo または Eclipse Juno 4.2。 Oracle 11g XE (ローカル インストール) Django プロジェクトを pydev で実行しているときに、ページ アクセスを試みると、「Oracle 環境ハンドルを取得できません」というメッセージが表示されます。
通常、TNS_ADMIN が正しい tnsnames.ora ディレクトリを指すように設定するだけです。
コマンド ラインから manage.py を実行すると、すべてが期待どおりに機能します。最初はおそらく環境変数の違いかと思いましたが、TNS_ADMINの値は同じです。いずれにせよ、Eclipse 実行構成で TNS_ADMIN を明示的に設定しても違いはありませんでした。
PYTHONPATH は 2 つの間で多少異なっていたので、実行構成でそれをオーバーライドして、違いが生じるかどうかを確認しました。いいえ。
cx_Oracle のソースを見ると、エラーは OCIEnvNlsCreate の呼び出しに失敗したことが原因のようですが、Oracle のドキュメントには明らかなことは何もありませんでした。
Pydevでこれを取得している理由を誰かに教えてもらえますか?