我有一个流程,每天早上循环遍历数千条记录,并确定是否可以删除它们。我有时会在日志文件中看到此异常:
System.Data.SqlClient.SqlException (0x80131904): A transport-level error has occurred when receiving results from the server. (provider: Session Provider, error: 19 - Physical connection is not usable)
我在这里阅读了一个潜在的解决方案:http://wishmesh.com/2013/10/solution-for-a-transport-level-error-has-occurred-when-receiving-results-from-the-server/
我知道SQLDataReader类实现了IDisposable,如下所示:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader(v=vs.110).aspx。因此,您应该将它包装在USING语句中,或者在完成后调用.close。
如果你不打电话给.close怎么办?我不明白为什么它会导致这个异常,因为我认为数据读取器只是已经从数据库返回并存储在内存中的对象集合。