接続と SqlReader を作成しましたが、両方を閉じるのを忘れていました。
SqlConnection conn = new SqlConnection("connection info");
conn.Open();
string sql = "SQL command HERE";
SqlCommand cmd = new SqlCommand(sql, conn);
SqlDataReader reader = cmd.ExecuteReader();
コードを再度実行しようとすると、常に次のエラーが表示されます。
System.InvalidOperationException: There is already an open DataReader associated with this Command which must be closed first.
このリンクは、接続を適切に開いて閉じる方法を教えてくれましたが、まだ実行中の接続を閉じる方法については何も説明していませんでした。
私はPCをシャットダウンしようとしましたが、SQLサーバーでデータベースのオプションを調べてみました(役に立たないことがわかりました)...コードを変更して、接続とリーダーの両方を閉じるだけでした(コンパイルして実行しましたが、問題は残りました)コードを元に戻した後)。
この「ゴースト」接続を閉じるにはどうすればよいですか? 実行中のすべての接続を閉じる方法 (総当たり) はありますか?
[編集:]問題を本当に解決できませんでした。MultipleActiveResultSets=true
回避策は、接続文字列に追加することでした