1

アプリの読み込み中に、1 人のユーザーがプールに 10 個の接続を追加します。次に、別のユーザーをロードすると、合計 20 の接続ができます。

接続を再利用するのではなく、新しい接続がプールに追加されるのはなぜですか? 数分間使用されていない接続が利用可能であることがわかりますが、それでも新しい接続が開かれます。

  • その同じ接続文字列
  • SQL Sever Profiler を実行したところ、呼び出しのたびに sp_reset_connection が呼び出されていることがわかりました。

どんな助けでも大歓迎です。

4

1 に答える 1

2

接続が別のマシンからのものである場合、接続はプールできません。接続には、両方のエンドポイントが接続である必要がありました。接続プーリングを正しく使用している場合、アプリケーションは (プールから) 接続をインスタンス化し、接続を使用して、交換が完了するとすぐにドロップします。

シングル スレッドのデスクトップ アプリを作成している場合、もう 1 つの一般的で単純な戦略は、接続を開き、アプリケーションが実行されている限りその接続を開いたままにしておくことです。

作成される接続の数などを制御できます。接続プールに関する詳細については、 MS の記事を参照してください。

IIRC、接続文字列が同じでない限り、接続プールは共有されません。

于 2013-09-06T15:55:58.907 に答える