[Java报表软件—问题解析]SQLServer2005获取大数据集时内存不足FineReport报表软件的解决办法 |
SQLServer2005获取大数据集时内存不足FineReport报表软件的解决办法
一. 问题描述:
使用 SQL Server jdbc读取SQLServer2005中的大数据量表时,如数据量达到20万时,发生如下类似错误:
500)this.width=500'>
二. 原因:
发生该情况与sqlserver jdbc驱动的select Method有关。selectMethod分为direct和cursor。当使用direct时,驱动会一次性载入所有结果集到jvm内存中,因此造成了out of memory;而使用cursor时,会在服务器端创建一个cursor,因此不会占据客户端的大量内存。
注意:此问题只存在于MS SQLSERVER,其它关系型数据库无此问题
三. 解决办法:
修改SQLServer2005 jdbc的URL:
jdbc:sqlserver://192.168.100.118:1433;databaseName=test;selectMethod=cursor
如下图:
500)this.width=500'>
但这种方式会影响整个应用程序,可能引起其他普通情况的读取性能下降。
|
|
|

.: 公告
本博客提供详细的java报表软件的制作过程,发布java报表软件的版本更新信息,并适时对国内主流报表软件进行功能比较。 |
|
« | July 2025 | » | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | | | |
|
.: 我的分类(专题)
|

.: 最新日志
.: 最新回复
|

blog名称:Java报表软件 日志总数:357 评论数量:69 留言数量:0 访问次数:1202767 建立时间:2006年4月16日 |
|

.: 留言板
|

.: 链接
|

|