有一个 用来存储数据,srcCds
   有一个TClientDataSet 用来从服务端获取数据,一次一万条。tempCds
   每查寻一次srcCds.apppendData(tempCds.data,false);
   数据量可以达到百万,但是经过测试srcCds数据量达到14,5万就不稳定,有时报地址错误。大哥大姐有遇到这种问题没,急。

解决方案 »

  1.   

    to:Harryfin
    没办法,可户要求 ,不过我测试过了,10几万左右还不至于内存吃光。我测试过60万。
      

  2.   

    如果不报错的话取到最后是会提示内存不足。但是我现在想弄明白的是Tclientdataset是不是数据太大就不稳定。还是可以通过程序控制,小弟都搞了几周了。昨天还和设计人员吵的不开心,但是工作没办法。尽量做好点。
      

  3.   

    能把你的实际需求描述一下吗,我觉得有很多问题是可以通过沟通解决的。实在不行,CDS真有问题,就自己做套简单的传输机制,用对象保存数据。
      

  4.   

    cds沒問題的,幾百萬筆都試過。應該是你的代碼有問題。只能不斷地trace....
      

  5.   

    是实现“导数据”功能?能否把功能描述细一些,有可能问题不在TClientDataSet
      

  6.   

    我不是用存储过程分页的,我们公司自己用java实现TClientdataset,取出数据后然后将数据转化成xml格式然后传到Delphi客户端。现在:我需要实现一个全取功能,因为java服务端tclientdataset取数达到2万多会发生套接字无法发送,所以我每次取一万条,通过服务端分页取数。每次取一次就appendata直到取万。to:Avan_Lau 你能给我一个简单例子吗,谢谢。
    to:Cassava 我没有用存储过程,直接通过sql语句分页。这个和存储果过程有什么区别啊。
      

  7.   

    那你的sql语句是怎样写的?是否使用到聚集索引了,如果没有使用到,那么在取数据的时候就很可能需要遍历所有记录,这样就很有可能随着记录的增加而拖垮你的程序
      

  8.   

    上百万条件?那好像只是为了传输数据而已,没必要使用全功能的cds,完全可以使用更专门的协议
      

  9.   

    因为实际业务确实需要这样。因为Excel2003只能单个叶签只能导65535条数据,所以客户也作出让步,可以分页导出,不过那个问题确实很奇怪。只是偶尔会发生。谢谢大家。