sql数据源,点击下一页报错该怎么样处理?

7085
3

白衣俊郎 初学数据Lv2

发表于2018-4-27 15:39

悬赏1

已解决

楼主
报表设置了两个sql数据源,一个叫rs1,一个叫totalcount,第一次计算正常,在结果界面点击下一页的是就会报错。
研究了下客户的报表,他们的totalcount是求一个子集的记录条数。
在我们自己设计的报表中,经研究,如果totalcount这样写
1.select count(name) a from dbo.dim_szysjs,这样可以正常计算;
2.select count(name) as a from dbo.dim_szysjs,计算第一页正常,点击下一页就会报错:计算浮动表元B1(rs1.1)时出错:java.lang.NullPointerException
3.select count(*) b from (select name from dbo.dim_szysjs) t,计算第一页正常,点击下一页就会报错:计算浮动表元B1(rs1.1)时出错:java.lang.NullPointerException
  
遇到像这样子的情况该如何处理?

最近看过此主题的会员

352UYPROOWJL

愿你似阳光

杨国签

zhaojinjin

esen_4PK9U96IR3

zhouxm

三余233

最佳答案
/*STARTINDEX:10*/select top 15 name from dbo.dim_szysjs
执行这个报错的

去掉前面的注释就是好了的,但去掉了就没法进行分页处理了
执行SQL:
/*STARTINDEX:5*/select top 10 name from dbo.dim_szysjs
java.lang.NullPointerException: 计算浮动表元B1(rs1.1)时出错:java.lang.NullPointerException
  at com.sanlink.jdbc.pool.impl.MSSQLPooledSQLException.analyseErrorCoede(MSSQLPooledSQLException.java:16)
  at com.sanlink.jdbc.pool.impl.PooledSQLException.(PooledSQLException.java:57)
  at com.sanlink.jdbc.pool.impl.PooledSQLException.(PooledSQLException.java:42)
  at com.sanlink.jdbc.pool.impl.MSSQLPooledSQLException.(MSSQLPooledSQLException.java:13)
  at com.sanlink.jdbc.pool.impl.PooledSQLExceptionFactory.getInstance(PooledSQLExceptionFactory.java:28)
  at com.sanlink.jdbc.pool.impl.PooledStatement.throwSQLException(PooledStatement.java:64)
  at com.sanlink.jdbc.pool.impl.PooledStatement.executeUpdate(PooledStatement.java:120)
  at com.sanlink.jdbc.SqlExecuter.excuteUpdate(SqlExecuter.java:195)
  at com.sanlink.jdbc.SqlExecuter.executeSql(SqlExecuter.java:159)
  at com.sanlink.jdbc.SqlExecuter.executeQuery(SqlExecuter.java:106)
  at com.sanlink.irpt.fxcalc.impl.cache.floatfxq2.OLTPResultManager.querySql(OLTPResultManager.java:135)

继续求大神处理
3个回答

只看楼主

大哥很IT 数据老手Lv5

发表于2018-4-27 15:39

只看该作者

取消 关注该作者的回复

沙发

/*STARTINDEX:10*/select top 15 name from dbo.dim_szysjs
执行这个报错的

去掉前面的注释就是好了的,但去掉了就没法进行分页处理了
执行SQL:
/*STARTINDEX:5*/select top 10 name from dbo.dim_szysjs
java.lang.NullPointerException: 计算浮动表元B1(rs1.1)时出错:java.lang.NullPointerException
  at com.sanlink.jdbc.pool.impl.MSSQLPooledSQLException.analyseErrorCoede(MSSQLPooledSQLException.java:16)
  at com.sanlink.jdbc.pool.impl.PooledSQLException.(PooledSQLException.java:57)
  at com.sanlink.jdbc.pool.impl.PooledSQLException.(PooledSQLException.java:42)
  at com.sanlink.jdbc.pool.impl.MSSQLPooledSQLException.(MSSQLPooledSQLException.java:13)
  at com.sanlink.jdbc.pool.impl.PooledSQLExceptionFactory.getInstance(PooledSQLExceptionFactory.java:28)
  at com.sanlink.jdbc.pool.impl.PooledStatement.throwSQLException(PooledStatement.java:64)
  at com.sanlink.jdbc.pool.impl.PooledStatement.executeUpdate(PooledStatement.java:120)
  at com.sanlink.jdbc.SqlExecuter.excuteUpdate(SqlExecuter.java:195)
  at com.sanlink.jdbc.SqlExecuter.executeSql(SqlExecuter.java:159)
  at com.sanlink.jdbc.SqlExecuter.executeQuery(SqlExecuter.java:106)
  at com.sanlink.irpt.fxcalc.impl.cache.floatfxq2.OLTPResultManager.querySql(OLTPResultManager.java:135)

继续求大神处理

BI妹妹 初学数据Lv2

发表于2018-4-27 15:42

只看该作者

取消 关注该作者的回复

板凳

分析SQL类型时,将 /*STARTINDEX:5*/select top 10 name from dbo.dim_szysjs 这种类型的SQL分析为了没有结果集的SQL,所以执行该SQL时没有生成结果集。

修改分析SQL类型的相关代码。
替换 WEB-INF/lib 目录下的 jdbc 的 jar 包中的文件 \com\sanlink\jdbc\sqlfunc.class

找到麻木 初学数据Lv2

发表于2018-4-28 17:02

只看该作者

取消 关注该作者的回复

地板

大哥很IT 发表于 2018-4-27 15:41
/*STARTINDEX:10*/select top 15 name from dbo.dim_szysjs
执行这个报错的

话说大神按照这个配置就没有问题了吗?

登录后可回答问题,请登录注册

快速回复 返回顶部 返回列表

小时

全天响应

分钟

快速处理问题

工程师强势助力

明星产品
解决方案
联系合作

400咨询:400-0011-866

技术支持QQ:400-0011-866(工作日9:00-18:00)

产品建议邮箱yixin@esensoft.com

关注我们

扫TA学习更多干货

一对一专家交流

版权所有© 2006-2024 北京亿信华辰软件有限责任公司 京ICP备07017321号 京公网安备11010802016281号