- - PR -
SqlTransactionクラスのcommitメソッドでエラー
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-05-10 14:54
お世話になっております。
ASP.NET1.1、SQLServer2000で でECサイトを構築し、比較的安定して動作しているのですが、 ごく稀に、SqlTransactionクラスのCommitメソッドでエラーが発生し、 困っております。 エラーの内容は以下の通りです。 タイムアウトに達しました。 操作が完了する前にタイムアウト期間が過ぎたか、 またはサーバが応答していません。 コマンドタイムアウトエラーが発生しているのだと思うのですが、 DBを見てみると、はコミットは正常に終了しているのです。 いろいろと探していると、 以下のサイトに http://www.dotnet247.com/247reference/msgs/48/244951.aspx The transaction timeout is linked to the Connection Timeout (not the command). というようなことが記述されていたのですが、 ConnectionStringの Connect Timeoutはデフォルト(15秒)のままです。 どなたか、 SqlTransactionクラスのCommitメソッドで 同じようなエラーが発生したことがある方はいらっしゃらないでしょうか。 (環境) ASP.NET1.1 IIS6.0 SQLServer2000 64bit (SP4) Windows2003Server (SP1) |
|
投稿日時: 2006-05-10 20:39
おそらく、ConnectionTimeoutの時間切れになっているものと思われます。
以下を試してみてください。(現状の設定がデフォルトのままであると想定しています) 1. constring(SqlConnection.ConnectionStringプロパティ)に Max Pool Size=100以上の値を追加設定する。 2. SqlConnection.ConnectionTimeoutプロパティに15秒以上の値を設定する。 3. constring(SqlConnection.ConnectionStringプロパティ)に Pooling=falseを追加設定する。 |
|
投稿日時: 2006-05-11 10:17
あき様
ご返答ありがとうございます。 ご教授いただいた方法で試してみます。 ちなみに、以下のサイトにも似たようなことが記述されておりました。 http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=371086&SiteID=1 ただ、コミット命令に15秒以上もかかることはあるのでしょうか。 少々疑問です。 |
1