Cognos SDK 10.1.1运行HTML报表如何关闭分页获取全量数据
Cognos BI 10.1.1 SDK导出HTML报表数据不全解决方案
你推测的HTML分页机制导致数据不全的结论是正确的。Cognos 10.1.1版本默认对HTML输出启用了分页限制,单页最多返回2000行(具体阈值受服务端配置影响),而PDF输出会自动合并所有分页内容,因此会出现两种格式导出数据量不一致的问题。可通过以下三种方式解决:
- SDK调用时强制关闭HTML分页
调用run()方法执行报表时,在option参数中添加RunOptionBoolean类型的HS_PAGINATE参数,设置值为false即可拉取全量HTML数据,Java SDK示例代码如下:
// 构造关闭分页的参数 RunOptionBoolean disablePaginate = new RunOptionBoolean(); disablePaginate.setName(ParameterNameEnum.fromString("HS_PAGINATE")); disablePaginate.setValue(false); // 将参数加入运行参数列表,传入run方法 RunOption[] runOptions = new RunOption[]{disablePaginate, 其他已定义参数}; reportService.run(reportPath, parameterValues, runOptions, outputContext, locale);
- 修改单报表的分页属性
打开Cognos Report Studio,进入目标报表的「报表属性」面板,找到分页分类下的「默认HTML分页」选项,设置为否,保存报表后所有HTML导出场景(含SDK调用、前端页面导出)都会返回全量数据。 - 调整服务端全局分页配置(适用于多报表批量场景)
登录Cognos Connection后台,依次进入「配置」-「服务器管理」-「监控和配置」,找到对应报表服务的属性配置项,修改「HTML页面的最大行数」参数,可根据业务需要调整阈值,也可直接设置为0(代表不限制行数),修改完成后重启Cognos BI服务生效。
注意:单页返回数据量过大会增加SDK请求超时、内存溢出的风险,如果数据量超过10万行,建议优先选择CSV、Excel等无分页限制的格式导出,或按维度拆分报表批量拉取数据。
内容的提问来源于stack exchange,提问作者Vigneshwaran B
相关产品推荐
相关产品推荐

