具有大数据的outofmemoryexception

时间:2013-03-04 12:00:30

标签: dataset out-of-memory

在我的应用程序中,有一个填充DataSet的SqlDataAdapter。 DataSet只获取一个表,此表进一步只获得一个DataRow。这个DataRow有一个colum,它从datebase获取图像数据,因此它可能是来自数据库的非常大的图像数据。

SqlCommand cmd = DBHandler.CreateSPCmd("AttachmentSelectbyID");
DBHandler.AddParam(cmd, "@AttachmentID", SqlDbType.Int, attachmentID);
var da = new SqlDataAdapter(cmd);
var ds = new DataSet();
da.Fill(ds, "Attachment");

当相应的图像数据非常大时,该命令会抛出一个outofmemoryexception。我尝试使用SqlDataReader,但仍然会发生同样的异常:

SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
    object ob =  reader["AttachmentImage"];
}

问题不在于大量的数据记录,但我认为问题是基于来自数据库的非常大的图像数据。有没有解决方案?

0 个答案:

没有答案