質問

どうやら( MSDN )時々OleDbConnection.ResetState()は何もしないので、接続が失敗しても、OleDbConnection.StateはOpenに設定されたままになります。接続状態をチェックするときに例外を発生させないようにするために、これに対する最善の回避策を探しています(最後のチェックと使用試行の間に接続が失敗しない限り)。

"役に立たない"例外がスローされるかどうかを確認するために毎回SQLステートメント?実際に使用する前に、接続が開いていることをどのように確認しますか?

役に立ちましたか?

解決

あなたの場合、私は次のことをします:

  1. 接続が「本当に」あるかどうかわからないそれを使用する前に開いてください:それはとにかくほとんどの時間であり、あなたはサーバーへの無駄な往復の多くをspareしまないでしょう
  2. ただし、接続を使用するたびに例外をチェックします(ここでコピー/貼り付けを避けるためにヘルパーメソッドを作成します)
  3. 例外がある場合は、"役に立たない"データベース接続を確認するステートメント" real"状態。サーバーへの接続が失われたときに発生する可能性のある例外の種類は、時には非常に驚くかもしれません(接続が切断されたときに何が起こっているかに依存します)

これがお役に立てば幸いです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top