2

私が直面している問題について助けを求めたいと思います。Web サイト内で長いタスクを実行していました。タスクの処理に時間がかかっていたため、構造を変更することにしました。まもなく、Web サイトから exe を呼び出してプロセスを監視しています。私の開発環境ではすべて問題ありません。しかし、実稼働環境で exe を実行しようとすると、次の例外メッセージが表示されます。System.Data.OracleClient を使用して Oracle データベースに接続します。

The type initializer for 'System.Data.OracleClient.OracleConnection' threw an exception.

これは、Web サイトから exe を呼び出すと発生します。exeをテストするためにwinformsアプリを作成しました。そして、winforms アプリから exe を呼び出すと (Web サイトから呼び出すのと同じ方法で)、すべて正常に動作します。

例外をオンラインで検索しました。私が見つけた2つの提案がありました。

1-) 異なるバージョンの Oracle クライアント :これが、テスト用の winforms アプリを作成した理由です。それはすべてうまくいきました。したがって、何か不足していない限り、Oracle クライアントが問題になるとは思いません。

2-) 32 ビット/64 ビット OS の問題:最初に 32 ビット環境を対象とした exe をコンパイルしました。私の製品環境は64ビットです。そのため、64ビットをターゲットにしてコンパイルしようとしましたが、同じ例外が発生しました。さらに、32 ビット exe は、私の winforms テスト アプリケーションで問題なく実行されます。また、私の開発環境も64ビットですが、例外は発生しません。

どんなアイデアでも大歓迎です...


編集:型初期化例外の解決策が見つかりませんでした。実際、私はそれを掘り下げる時間がありませんでした。代わりに私がしたことは、winforms exeを呼び出し、ボタンクリックをシミュレートして実際のexeを呼び出すことです。私は解決策が好きではありませんでしたが、先に進まなければなりませんでした。OracleConnection例外が発生しなくなりました。

4

0 に答える 0