Java軟件報表軟件技術博客

          java報表軟件技術匯總 java報表軟件制作 報表軟件新聞
          posts - 355, comments - 100, trackbacks - 0, articles - 3
             :: 首頁 :: 新隨筆 ::  :: 聚合  :: 管理
           

          SQLServer2005獲取大數據集時內存不足FineReport報表軟件的解決辦法

          . 問題描述:

             使用  SQL Server  jdbc讀取SQLServer2005中的大數據量表時,如數據量達到20萬時,發生如下類似錯誤:


          . 原因:

             發生該情況與sqlserver jdbc驅動的select Method有關。selectMethod分為directcursor。當使用direct時,驅動會一次性載入所有結果集到jvm內存中,因此造成了out of memory;而使用cursor時,會在服務器端創建一個cursor,因此不會占據客戶端的大量內存。

            注意:此問題只存在于MS SQLSERVER,其它關系型數據庫無此問題

          . 解決辦法:

              修改SQLServer2005 jdbcURL:

          jdbc:sqlserver://192.168.100.118:1433;databaseName=test;selectMethod=cursor

          如下圖:

           
          這種方式會影響整個應用程序可能引起其他普通情況的讀取性能下降。



          主站蜘蛛池模板: 扶余县| 莫力| 兴文县| 景泰县| 阳江市| 泰来县| 西林县| 永和县| 双辽市| 镇远县| 山阳县| 九寨沟县| 潼南县| 双流县| 新乡县| 尉氏县| 沭阳县| 吕梁市| 马龙县| 太康县| 集贤县| 井陉县| 独山县| 集安市| 龙井市| 西充县| 周宁县| 宜宾县| 大安市| 固始县| 富民县| 绥棱县| 上栗县| 阿坝县| 民乐县| 富川| 栖霞市| 祁东县| 武定县| 绥阳县| 望谟县|