Dim n As Date = Now
table2 = dh.BackTable("select top 50000 * from 数据表1", DataType.AccessData) '这个函数是从自定义的类中提取数据,无问题
Debug.WriteLine("提取数据所需时间:" & (Now - n).Seconds)
n = Now
Dim fs As New FileStream(AppDomain.CurrentDomain.BaseDirectory & "\aa.aaa", FileMode.OpenOrCreate, FileAccess.ReadWrite)
Dim fr As New BinaryFormatter
fr.Serialize(fs, table2) '在这里提示system.outofmemoryexception的异常!
fs.Close()
Debug.WriteLine("序列化10万条数据所用时间:" & (Now - n).Seconds)
n = Now
fs = New FileStream(AppDomain.CurrentDomain.BaseDirectory & "\aa.aaa", FileMode.OpenOrCreate, FileAccess.Read)
table1 = CType(fr.Deserialize(fs), DataTable)
Debug.WriteLine("反序列化所需时间:" & (Now - n).Seconds)
提示如下:
请问如何解决,困扰好长时间了。内在4G,CPU g640
10 个解决方案
#1
#2
顶一下,坐等高手。
#3
别沉了,顶起。
#4
最后顶一次的机会。
#5
数据太多了!
#6
是数据太多了,但机器内存够大(win7 64位,8G),怎么也会出现这样的错误?
#7
我觉得是系统不能处理这么大的字符串吧。
兴许字符串超出4G了。
兴许字符串超出4G了。
#8
结贴了。
打开任务管理器,内存使用1G+,远远没有超过4G。
打开任务管理器,内存使用1G+,远远没有超过4G。
#9
你减少top的数量,如取10000条测试一下,另看错误出在哪个地方?
#10
问题解决了没呀,我这边也有这困扰。
#1
#2
顶一下,坐等高手。
#3
别沉了,顶起。
#4
最后顶一次的机会。
#5
数据太多了!
#6
是数据太多了,但机器内存够大(win7 64位,8G),怎么也会出现这样的错误?
#7
我觉得是系统不能处理这么大的字符串吧。
兴许字符串超出4G了。
兴许字符串超出4G了。
#8
结贴了。
打开任务管理器,内存使用1G+,远远没有超过4G。
打开任务管理器,内存使用1G+,远远没有超过4G。
#9
你减少top的数量,如取10000条测试一下,另看错误出在哪个地方?
#10
问题解决了没呀,我这边也有这困扰。