- - PR -
トランザクション タイムアウトについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-09-10 17:51
お世話になっております。
現在、VB.NET2003+Oracle9iで開発を行っております。 ミドルウェアにはODP.NET、トランザクション処理には COM+の自動トランザクションを利用しています。 処理の中で、長時間実行されるストアドプロシージャを 呼び出す部分があり、その処理が実行されると、 「操作がタイムアウトしました。」 とメッセージが表示されます。 COM+のトランザクション タイムアウト値をデフォルトの 60秒から大幅に変更したのですが、同じメッセージが表示 されます。 タイムアウト値を0に設定すると、トランザクションは タイムアウトしないと説明があったので試してみたのですが 結果は同じでした。 タイムアウト値の変更は、コンポーネントサービス管理ツール から行いましたが、変更が反映されなかった為、下記のように トランザクション属性のタイムアウトプロパティを使用した のですが、これも駄目でした。 <Transaction(TransactionOption.Required, Timeout:=0), _ JustInTimeActivation()> 何故、タイムアウト値が変更されないのかが分からず困って おります。 どなたか、ご教授していただけないでしょうか? よろしくお願いいたします。 |
|
投稿日時: 2005-09-11 06:39
クエリータイムアウトでは?
|
|
投稿日時: 2005-09-12 11:44
おそらく、トランザクションのタイムアウトではなく別の何らかのタイムアウトじゃないですか?
発生している例外クラスから原因を特定できませんか? |
|
投稿日時: 2005-09-16 10:38
kazaaa様、壱丸3様、返信ありがとうございます。
#返事が遅くなり申し訳ありませんでした。 調査した結果、Webサービス呼び出しのタイムアウト値を設定 することで、解決することができました。 私の説明が足りなかったのですが、Webサービス経由でDBに アクセスしています。 当初、kazaaa様のご指摘どおりクエリータイムアウトだと思って Oracle関連のタイムアウトを調査していたのですが解決できず、 この現象が発生してもOracleExceptionでcatchすることもできま せんでした。 さらに調査を進めていくと、下記のURLを見つけたので試してみると タイムアウトの現象が発生しなくなりました。 http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vsdebug/html/vxgrftimeoutwhiledebuggingwebservices.asp 対応としては、Webサービス呼び出しに時間が掛かる場合、呼び出す 直前でWebサービスのTimeoutプロパティを"-1"に設定するようにしました。 "-1"に設定すると、Webサービス呼び出しのタイムアウト値を無限に 設定できるようです。 トランザクション タイムアウトの設定も必要かどうかは定かでは ないのですが、こちらのタイムアウトは"0"に設定するようにしました。 "0"に設定すると、トランザクション タイムアウトが発生しないように できるようです。 この対応が最適なのか確信がもてませんが、暫く様子をみることにしました。 お忙しいところ助言していただきありがとうございました。 今後ともよろしくお願いいたします。 |
1