- PR -

ADO.NET 接続プールの削除

投稿者投稿内容
yayadon
常連さん
会議室デビュー日: 2003/07/23
投稿数: 41
投稿日時: 2004-11-14 03:45
Pooling=False だと消えるということは,
http://msdn.microsoft.com/library/en-us/dnsqlmag03/html/The_NETConnectionPoolLifeguard.asp?frame=true
で,いうところの接続のリーク
  (1. SQLCommand等で利用する接続を開けておいて,
   その後にDataReader等で受けたりして,
   .Closeを呼ばないまま,スコープを抜けると接続のリークが起きたり
   (例えば,ローカル変数でコネクションを作成しているような場合等),
  2. 接続が閉じた状態でConnectionを渡せるようなオブジェクト(DataAdapter)の場合,
   接続が閉じた状態で実行した場合は,自動的に閉じるのでいいけれど
   接続が開いた状態で実行した場合は,開いたままになるので
   それを認識して書く必要があるというような問題
  3. DateReaderを使用する場合,SQLCommandのExecuteReader()時に
   CommandBehavior.CloseConnectionオプションを指定しても
   明示的に .Close しないとリークする可能性のパターンがある
   (利用するコントロールの違い等)
  ...うんぬん... というものです。
   ※リンク先の説明に合うように修正しました。)
は起きていない?ということになるので,
コード的な問題でないということになるんじゃないかなぁ。
(単に私の知識の範囲だとです)

となると,接続文字列かな...
Connection Lifetime=10;Min Pool Size=0;
あたりで消えないのかなぁ〜

[ メッセージ編集済み 編集者: 稍丼 編集日時 2004-11-14 12:11 ]

スキルアップ/キャリアアップ(JOB@IT)