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

          如下圖:

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



          主站蜘蛛池模板: 新丰县| 乐山市| 盘山县| 雅江县| 普定县| 山东| 定南县| 开江县| 天柱县| 武清区| 五大连池市| 英吉沙县| 洪洞县| 威远县| 商水县| 泸溪县| 深圳市| 北安市| 晋中市| 铁岭市| 裕民县| 类乌齐县| 陵川县| 九龙坡区| 自贡市| 信阳市| 磐安县| 肇源县| 堆龙德庆县| 山阳县| 阳谷县| 怀来县| 临邑县| 贡觉县| 东港市| 峡江县| 卢氏县| 通江县| 永登县| 武山县| 方山县|