“当前运算的非线性报表超过授权运算的个数”的错误分析
非线性报表模型是润乾报表首创的报表设计模型。它使得复杂报表的设计简单化,轻松实现以往难以实现的报表,避免了大量的复杂 SQL 编写、编码与前期数据准备,大大提高了报表设计的零编码覆盖范围,报表设计的效率提高了一个数量级。
当客户使用试用授权或按照非线性报表个数购买的授权时,这个错误就可能出现在报表发布的时候。根据授权文件的信息,润乾报表限定了服务器中运行的非线性报表个数。当服务器中每运算一张非线性报表,程序就会累加一次,当服务器中运算的非线性报表数量超过授权所允许的非线性报表的数量,就会报”当前运算的非线性报表超过授权运算的个数”。
那么,如何检测一个报表是否非线性报表呢?
点击工具栏中的”属性”,在下拉菜单总选择”检查是否非线性”,如下图所示:
结果如下:
或者
如何知道自己的授权信息中所限制的非线性报表的个数?
步骤如下:
第一步, 点击工具栏中的”帮助”,在下拉菜单中选择”关于”。如图所示:
弹出”关于”对话框,如下图所示:
第二步, 点击”授权信息”,弹出如下对话框。
第三步, 选中”选择另一个授权”,点击确定,系统弹出文件选择框。找到系统中的服务器授权文件,单击打开,就显示出了服务器授权文件的信息。如下图所示:
在图中”nonlinear report“项的值为”without limit“,意思是该授权对服务器中运算的非线性报表的个数不限制。”nonlinear report“的值可能为数字,比如10,就意味着服务器中运算的个数是10个。
如何知道当前服务器中已经运算的非线性报表个数呢?
通过API调用可以得到。
1. 导入com.runqian.report4.model.engine.ExtCellSet 包
2. 通过以下代码就可知道
int count=ExtCellSet.getCurrentComplicatedCount();
out.print(“当前已使用的非线性报表个数为:“+count);
如果您确信服务器中运算的非线性报表个数小于授权中限定的个数,可是仍然报错”当前运算的非线性报表超过授权运算的个数”,您可以采取以下步骤:
第一步, 清空Web服务器中的缓存文件。
第二步, 重新导入服务器授权文件(请确认授权文件尚未到期)。
第三步, 重启Web服务器。
如果您遇到”前运算的非线性报表超过授权运算的个数”,可以参考上述步骤解决。