2017-04-03 13 views
0

接続を閉じずにSQL接続オブジェクトをnullに設定するとどうなりますか? SQLサーバーはまだ接続を保持していますか?誰と?SQL接続オブジェクト= nullに設定された場合

私はこれについて検索をたくさん持っていますが、答えを見つけていない接続オブジェクトへの参照が、この場合には削除され

Connection conn = null; 

+0

接続がリークします。接続を閉じるためにサーバー側に決して伝達されることはありません。 Nullで十分ではありません。それは両面の会話です。 – duffymo

+0

@duffymoそれは近くの接続を処分するのはどうですか? –

+0

クローズド接続は正しいことです。 GCでクリーンアップするか、接続プールに戻します。 – duffymo

答えて

0

あなたはnullに接続オブジェクト/参照を設定しています、接続がオープン状態になっているので、オープンになりリソースは解放されません。

接続を終了しないと、接続リークが発生する可能性があります。 finallyブロックで接続を閉じることが重要です。

0

接続conn = nullを記述すると、SQL Serverは接続を保持しませんが、オブジェクトアドレスはスタックから削除されますが、ヒープにはオブジェクトの値が保持されます。メモリが不足しているためまだヒープで占めています。

+0

したがって、私が割り当てnullを割り当てると、接続プルから削除されますか? –

+0

@umeshsohaliya上記の私のコメントを見てください。何を知る必要がありますか? –

+0

実行が完了するか処理が完了すると、すべての接続がフラッシュされます。 application/Processがまだ実行中の場合、データベースに接続が保持されます。 –

関連する問題