在完成读取之前关闭ODBCDataReader,ODBCData Reader需要很长时间才能关闭

时间:2012-01-30 19:05:24

标签: c# odbc long-integer datareader

我正在运行一个使用ODBCDataReader调用SQL查询的代码。查询的结果将被放入电子邮件附件并邮寄给用户。如您所知,邮件服务器可以发送多少数据。所以我所做的是将附件设置为特定大小的限制。这会导致ODBCDataReader在到达查询结尾之前提前完成

while (_ODBCConn.Data.Read() && AttachmentFileSize < MaxAttachmentSize)
                {
                     //Write to file attachment
                     //Obtain AttahmentFileSize
                }

不幸的是,当我运行下一组代码来关闭阅读器时,它会花费很长时间

if (_reader != null)
        {
            _reader.Close();
        }

有人知道如何让读者更快地关闭吗?

1 个答案:

答案 0 :(得分:1)

我不是在躲避你的问题,但我怀疑你能否为读者关闭所花费的时间做些什么。但是,如果close命令阻止了一些需要在之后运行的时间敏感代码,则可以在另一个线程上调用该行。我会确保在再次使用之前检查阅读器的状态,因为线程可能需要一些时间才能执行。