- - PR -
DB接続エラーを繰り返すと接続できなくなる
1|2|3
次のページへ»
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-04-11 14:31
初めまして。初めて投稿させていただきます。
5秒間隔でDB接続し、データが更新されていないかを チェックするアプリケーションを作成しています。 この状態でDBサーバを再起動させると、クライアントは 続エラーを起こします(「SQL Server が存在しないか、 アクセスが拒否されました。」)。これは当然です。 しかし、再起動が完了しても繰り返し接続エラーのままです。 何故でしょうか? DBへの接続はその度に行っています。 動作環境は以下の通りです。 DBサーバ :WindowsServer2003 + SQLServer2000 クライアント:WindowsXP Professional SP2 どなたか教えてください。よろしくお願いします。 |
|
投稿日時: 2005-04-11 14:42
補足です。
以下の場合は接続復帰します。 @LANケーブルを抜く A接続エラーとなる BすぐにLANケーブルを差す C接続は成功する 何度か失敗した場合に駄目なのでしょうか? |
|
投稿日時: 2005-04-11 15:03
はずしているかもしれませんが、コネクションプーリングが関係しているのではないでしょうか?
コネクションプーリングを無効にするとどうなりますか? http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconconnectionpoolingforsqlservernetdataprovider.asp |
|
投稿日時: 2005-04-11 15:45
burton999さん、ありがとうございます。
コネクションプーリングを無効にしたら接続復帰できました。 コネクションプーリングについては、あまり知識がないので この機会に調べてみます。 ありがとうございました! |
|
投稿日時: 2005-04-11 16:11
ちなみにコネクションプーリングを無効にすると
パフォーマンスがかなり悪化する可能性がありますので コネクションプーリングを理解して慎重に検討してください。。。 通常、無効にすることはしません。 |
|
投稿日時: 2005-04-11 18:29
やはりパフォーマンス的に問題がありました。
接続プーリングをfalseに設定すると、接続に30秒以上かかってしまいます。 どなたか、よい対処方法をご存知でしたら教えてください。 よろしくお願いします。 |
|
投稿日時: 2005-04-11 18:50
紹介して貰ったURLの「接続の削除」の項は読みました?動作検証したわけではないのですが、「既に存在しないサーバーへの接続が存在する場合は・・・」のところを読む限り、通常であればその後接続は破棄され、自動的に新しい接続が作られるはずです。もし破棄されないのであれば「プールへ返す必要があります。」の辺りが守られていないのではないでしょうか? あるいは、接続最大数のピークと通常時の差が大きいのではないでしょうか?ピーク時に沢山のConnectionがPoolされており、切断されたPoolを一通り破棄するのに時間がかかっているとか・・・。Connection Lifetimeを適当に短くすると、大幅に改善したりしませんか? |
|
投稿日時: 2005-04-12 09:43
解決しました。
Connection Lifetimeを短くすることで対応できました。 ありがとうございます。助かりました! |
1|2|3
次のページへ»