Java軟件報表軟件技術(shù)博客

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

          SQLServer2005獲取大數(shù)據(jù)集時內(nèi)存不足FineReport報表軟件的解決辦法

          . 問題描述:

             使用  SQL Server  jdbc讀取SQLServer2005中的大數(shù)據(jù)量表時,如數(shù)據(jù)量達(dá)到20萬時,發(fā)生如下類似錯誤:


          . 原因:

             發(fā)生該情況與sqlserver jdbc驅(qū)動的select Method有關(guān)。selectMethod分為directcursor。當(dāng)使用direct時,驅(qū)動會一次性載入所有結(jié)果集到jvm內(nèi)存中,因此造成了out of memory;而使用cursor時,會在服務(wù)器端創(chuàng)建一個cursor,因此不會占據(jù)客戶端的大量內(nèi)存。

            注意:此問題只存在于MS SQLSERVER,其它關(guān)系型數(shù)據(jù)庫無此問題

          . 解決辦法:

              修改SQLServer2005 jdbcURL:

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

          如下圖:

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



          主站蜘蛛池模板: 邳州市| 信丰县| 华池县| 辽宁省| 吉安市| 前郭尔| 南宫市| 滕州市| 石景山区| 临清市| 温泉县| 河曲县| 噶尔县| 张掖市| 临安市| 河池市| 蓝田县| 台东县| 当雄县| 阜康市| 湘乡市| 大邑县| 安阳市| 罗源县| 深水埗区| 本溪| 济宁市| 桃园市| 仙居县| 高陵县| 兴隆县| 黎川县| 田林县| 吉木萨尔县| 清镇市| 牟定县| 大兴区| 河东区| 马边| 泾川县| 岗巴县|