system.outofmemoryexceptionwhenpopulatingDataAdapter?我必须从数据库中获取150K条记录。我正在使用da.Fill(ds,"Query")及其抛出的system.outofmemoryexception。DimdaGridAsNewSqlDataAdapter(sqlcmd_q)daGrid.Fill(dsGrid,"Query")daGrid.Dispose()我只需要这个数据表。我不能使用XML。因为我需要将它分配给MSChartControl来显示ScotterPlot。有什么建议么?我要检查的第一件事是您要返回多少列,以及它们是什么数据类型。虽然150K条记录很多,但它不应该给你一个OOMexception,除非每条记录大约13K长(在32位机器上)。这告诉我您返回的字段比您需要的多,或者某些字段可能是非常大的字符串或二进制数据。尝试减少select语句以仅返回显示所需的字段。如果这不起作用,您可能需要从DataTable移动到自定义数据类型列表(具有相应字段的类)。您没有指定查询。确保它只包含您需要的列。如果仍有问题,您可以尝试切换到64位(如果您的硬件支持它并且您有超过2GB的可用内存)。如果这没有帮助,您必须减少内存占用。一种可能的选择是在不将所有底层数据存储在内存中的情况下渲染绘图。只需一张一张地加载数据,计算坐标并存储它们,而不存储底层记录。也许你甚至可以让查询做到这一点。以上就是C#学习教程:system.outofmemoryexceptionwhenfillingDataAdapter?如果所有分享的内容对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
