wince直连读取mssql数据最大数据量是多少?

cpf_cn 2016-11-23 09:24:52
现在有个项目是异步数据,用数据线连接网络,然后读取mssql中的数据到ce的sqlite数据库中,实现同步,但是每次读取数据的时候datatable最大读取行数不能超过2w条记录,一超过就内存溢出了。
不知道这个内存表一般最大数据是多少?目前估计数量应该在60w行左右,能否一次同步过去,有什么好的解决方案
...全文
2397 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2018-01-16
  • 打赏
  • 举报
回复
用户要求把数据都放到本地内存中?够奇葩。
wxf54318 2018-01-15
  • 打赏
  • 举报
回复
1、首先保证程序没有导致内存泄漏。2、可以分别再在1万、2万、2万5、三万条时。。。下查看WINCE上生成的数据文件SIZE,找到发生溢出时数据文件大小,如果基本都是这个值,那么基本肯定是数据溢出。
cpf_cn 2016-11-25
  • 打赏
  • 举报
回复
配置是128M内存
cpf_cn 2016-11-25
  • 打赏
  • 举报
回复
如果数据量少于2w条,就不出来,如果使用3w条测试,就溢出了。所以才怀疑是内存的问题,所以想问问大神们的意见,是不能确认,能确认我就直接换设备。因为得花钱嘛
cpf_cn 2016-11-25
  • 打赏
  • 举报
回复
同步自然是客户的要求啦,因为使用的时候是离线的,同步是使用完成或使用之前进行的。 我很奇怪的是说我问题质量太差的人,你们问的都是啥高质量的问题,我只是想确认是不是内存导致的。是我写的太不明确了吗? 我没有说是wince导致的,是不确定是不是内存少导致的, Dim cmd As New SqlClient.SqlCommand(strsql, cn) cmd.CommandTimeout = "300000" Dim adpt As New SqlClient.SqlDataAdapter(cmd) Dim tbl As New DataTable Try adpt.Fill(tbl) 执行到这里就不行了,直接提示内存溢出。 如果是内存少造成的,可以换个大内存的设备试试,如果不是,看看有没有什么解决办法。 目前可以试试分次同步,一次少同步点数据的方法试试。
  • 打赏
  • 举报
回复
引用 2 楼 91program 的回复:
内存溢出,是什么表现? 内存不足的话,WinCE 系统会弹出内存不足的对话框。如果只是自己程序,则可能是堆栈大小不足,具体要看你的程序是如何实现的。 先查自己程序的问题,不要动不动就说是 WinCE 系统的问题。 当然如果是,你考虑怎么办呢?
现在这问问题的质量感觉越来越差了。 不过我的看法是既然连接了网络,为何一定要将数据同步到CE上,CE上直接访问SQL Server就好了。 如果只是同步的时候连接网络,完事儿后设备离线,这种场景应该属于设备维护,没有必要一下将60万数据全部读入,慢慢读就好了。 还是等题主补充下问题吧
  • 打赏
  • 举报
回复
sqlite并没有限制在wince平台上读取的条数,代码是开源的,你可以看。 内存溢出这个要看具体情况,你算算你20w条数据量多大先。然后看看你系统定制时存储内存和程序内存分配的比例关系,看看你的内存是否够。还有就是代码是否也有不合理的地方。
91program 2016-11-23
  • 打赏
  • 举报
回复
内存溢出,是什么表现? 内存不足的话,WinCE 系统会弹出内存不足的对话框。如果只是自己程序,则可能是堆栈大小不足,具体要看你的程序是如何实现的。 先查自己程序的问题,不要动不动就说是 WinCE 系统的问题。 当然如果是,你考虑怎么办呢?
91program 2016-11-23
  • 打赏
  • 举报
回复
这个东东不是 WinCE 决定的,而是你整体的设备性能决定的。

19,502

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
  • 嵌入开发(WinCE)社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧