润乾集算报表的集算器数据集部署
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
润乾集算报表的集算器数据集部署
润乾集算报表提供了集算器数据集,允许用户使用集算器脚本完成数据的进一步计算和加工,为报表提供数据源支持,从而简化报表开发,提升报表性能。
集算器脚本的编辑需要借助第三方集算编辑器(非报表工具)完成,而后嵌入到报表工具和报表应用中完成报表开发和部署。
下面来看一下集算器数据集的使用和以及报表部署过程。
1开发环境使用
集算报表使用集算器数据集时,首先需要设置集算器授权信息和配置数据源连接(如果需要从数据库中取数)。
1.1设置授权信息
启动集算报表设计器,选择工具-选项,切换到“集算器选项”,分别设置集算器注册码,寻址路径和主目录。
注册码
集算器的版本通过注册码来控制,在该菜单为集算器设置注册码
寻址路径
指定网格程序中引用的一些文件相对的路径,可设置多个,用分号分隔。
主目录
相对路径文件和远程文件的根目录,集算器中未设置主目录时使用当前程序文件所在目录
1.2配置数据源(可选)
如果集算器脚本中连接了数据库,集算报表调用时还需建立相应数据源,选择工具-数据源,“新建”数据源,如:
特别的,新建数据源之前应将相应数据库驱动拷贝到[集算报表安装目录]\common\jdbc 下。
通过如上步骤即可在集算报表设计器中调用集算器脚本(dfx)使用集算器数据集,下面通过两个具体实例说明使用过程。
1.3实例
1.3.1报表说明
根据学生总成绩排名后,按照蛇形分布进行分班(分两个班),1班是1,4,5,8,…名,2班是2,3,6,7,…名。
现根据班级参数查询本班学生名单。
以下为实现步骤。
1.3.2编辑集算脚本
首先使用集算器编辑集算脚本,根据参数从数据库取数完成数据计算,为报表返回计算后的结果集。
配置数据源
在编辑脚本过程中往往要进行编辑调试,实时查看运行结果,这时需要配置集算器数据源,数据源配置与报表数据源需要完全一致(包括数据源名称)。
打开集算器编辑器,菜单栏选择“工具-数据连接”,新建数据源如下:
设置参数
使用集算编辑器,新建脚本(demo1.dfx),设置参数class,用于接收报表传递的班号
编辑脚本内容
A1:使用上述配置的数据源demo2,建立数据库连接;与集算报表的脚本数据集可以直接使用报表数据源不同,集算器数据集中的脚本必须使用connect(db)语句建立连接
A2:执行sql查询所有学生名单及成绩等信息
A3:按照学生成绩降序排列
A4:为排序后的记录增加排名字段
A5:使用A.step()函数取子集,这里根据参数class来动态获取某个班级的成员;
A6:为报表返回结果集
1.3.3设置报表模板
设置报表参数
使用集算报表设计器新建报表,设置报表班级参数
设置数据集
在数据集类型中选择“集算器数据集”,调用上面编辑好的dfx
值得注意的是,DFX文件路径可以使用绝对路径,也可以使用相对路径,相对路径是相对在选项中设置的“主目录”(见 1.1中截图),本例相对的主目录为:D:\Program Files\raqsoft\report\webapps\demo\reportFiles。
参数中,class为集算脚本参数,classNum为报表参数,将报表参数传递给集算脚本用于数据计算。
这里为了方便区分设置了不同参数名,实际使用中可以设置同名参数。
设置报表表达式
最后在报表模板中编辑报表表达式完成报表制作
预览报表,班级参数分别输入1和2,得到1班和2班学生名单,如下:
2WEB端部署
集算报表在web端部署流程与一般J2EE应用部署流程基本一致,包括:
如果和已有应用集成,一般来说已有应用已经配置好了数据库连接池,因此第一、第二步骤可以省略,只需要后面几个步骤。
配置应用服务器的数据库连接池、发布报表应用这两个步骤在不同应用服务器中的操作界面和操作方法是有区别的,举例来说,发布报表应用这个步骤,在weblogic和websphere 中一般是发布一个war包或者是ear包,而在tomcat中就是在server.xml或context.xml中配置,可以不打war包。
唯一不变的步骤是web应用配置,这部分包含四个步骤,在任何一个应用服务器中都是一样的。
部署步骤的顺序在不同应用服务器中也有差别,有些应用服务器例如websphere,数据库连接池不和具体的应用绑定,基本是公用的,那么连接池可以先配置,之后再配置相关文件,打war包,发布应用;而在tomcat下面,连接池可以和应用绑定,那么一般先发布应用,之后再配置连接池,然后修改配置文件。
下面以Tomcat6为例,说明主要部署过程。
2.1创建新应用
一个典型的web应用的目录结构如下:
appName 应用名,应用的根目录,可随意取名,一般为英文名所有应用相关的文件,
都放在该目录下
images 图片目录,放置相关的图片,目录名可以自己调整
jsp jsp目录,放置应用的jsp,目录名可以自己调整
WEB-INF 规定目录,目录名必须大写,一般放置应用配置文件,类包等
classes 规定目录,目录名必须小写,放置java类文件
lib 规定目录,目录名必须小写,放置jar文件
一般来说,创建一个新应用,就是在资源管理器里,创建上面的目录结构,该目录建好
后,一个新的空应用就搭建起来了,下一步就是拷贝集算报表的web发布包。
当然,集算报表的web发布包本身就是上述的标准目录结构,如果不是和已有应用集
成,可以直接把润乾的web发布包作为一个标准应用去发布。
2.2拷贝集算报表web发布包
下面列出集算web发布包中所有文件的目录结构及用途,拷贝时,根据需要进行选择。
一般来说web发布包中文件放在什么目录,那么拷贝到您的应用中时也对应的放到相应目
录下。
特别需要注意的:所有文件中只有web.xml文件不能拷贝,而是打开集算报表的
web.xml文件,把其中的内容拷贝到您的web.xml文件中。
其内容在web.xml中的顺序,要
遵从相关应用服务器的规定。
如果不是和已有应用集成,而是新建应用,那么直接拷贝web.xml也无妨。
集算报表web发布包的目录结构如下:
2.3创建或修改配置文件
2.3.1web.xm l
在web.xml文件中要对报表系统中用到的servlet和taglib进行配置,请将报表系统提供的
web.xml文件中的<web-app>节点下的所有内容复制到你的应用的web.xml文件中相应的位置。
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "/dtd/web-app_2_3.dtd">
<web-app>
<servlet>
<servlet-name>reportServlet</servlet-name>
<servlet-class>com.raqsoft.report.view.ReportServlet</servlet-class>
<init-param>
<param-name>configFile</param-name>
<param-value>/WEB-INF/reportConfig.xml</param-value>
</init-param>
<init-param>
<param-name>headless</param-name>
<param-value>false</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- 保存客户端打印设置,可以修改这个参数值-->
<servlet>
<servlet-name>ermodel.PrintSetupServlet</servlet-name>
<servlet-class>ermodel.PrintSetupServlet</servlet-class>
<init-param>
<param-name>saveDisplayScale</param-name>
<param-value>yes</param-value>
</init-param>
</servlet>
<servlet>
<servlet-name>com.raqsoft.report.view.PagedPrint</servlet-name>
<servlet-class>com.raqsoft.report.view.PagedPrint</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ermodel.PrintSetupServlet</servlet-name>
<url-pattern>/servlet/PrintSetupServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>reportServlet</servlet-name>
<url-pattern>/reportServlet</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>com.raqsoft.report.view.PagedPrint</servlet-name>
<url-pattern>/servlet/pagedPrintServer</url-pattern>
</servlet-mapping>
<taglib>
<taglib-uri>/WEB-INF/raqsoftReport.tld</taglib-uri>
<taglib-location>/WEB-INF/raqsoftReport.tld</taglib-location>
</taglib>
</web-app>
2.3.2reportConfig.xml
集算报表主配置文件,存放位置与web.xml同在应用的WEB-INF目录下。
内容如下:<?xml version="1.0" encoding="GBK" ?>
<config>
<name>logConfig</name>
<value>/WEB-INF/raqsoftReportLog.properties</value>
</config>
<config>
<!—集算报表注册码(授权)信息-->
<name>regCode</name>
<value>bv4jm-JwwM0-GOJT9-2SEPIaw</value>
</config>
<config>
<!—集算器注册码(授权)信息-->
<name>dmRegCode</name>
<value>betsq-EJ@P@-FGJ52-XEf0zSg</value>
</config>
<config>
<name>reportFileHome</name>
<value>/reportFiles</value>
</config>
<config>
<name>JNDIPrefix</name>
<value>java:comp/env</value>
</config>
<config>
<name>jspCharset</name>
<value>GBK</value>
</config>
<config>
<name>dataSource</name>
<value></value>
<!--
oracle169,oracle;sjr,sqlsvr;oracle233,oracle;utf8,oracle,1,UTF-8,UTF-8,0;sybase,sybase</valu e> -->
<!-- libosai,oracle;bdl,sqlsvr,1,iso8859-1,GBK,0;ltj,sqlsvr,1,iso8859-1,GBK,0; -->
</config>
<config>
<name>cachedParamsTimeout</name>
<value>120</value>
</config>
<config>
<name>cachedReportDir</name>
<value></value>
</config>
<config>
<name>cachedIdPrefix</name>
<value>A</value>
</config>
<config>
<name>cachedReportTimeout</name>
<value>120</value>
</config>
<config>
<name>maxCellNum</name>
<value></value>
</config>
<config>
<name>maxConcurrentForReport</name>
<value>9999</value>
</config>
<config>
<name>maxWaitForReport</name>
<value>9999</value>
</config>
<config>
<name>maxWaitTimeForReport</name>
<value>9999</value>
</config>
<config>
<name>appUrlPrefix</name>
<value></value>
</config>
<config>
<name>windir</name>
<value></value>
</config>
<config>
<name>alwaysReloadDefine</name>
<value>no</value>
</config>
<config>
<name>treeImagesPath</name>
<value></value>
</config>
<config>
<name>errorPage</name>
<value></value>
</config>
<config>
<name>webServerType</name>
<value></value>
</config>
<config>
<name>jreInstallName</name>
<value></value>
</config>
<config>
<name>jreVersion</name>
<value></value>
</config>
<config>
<name>clusterMember</name>
<value></value>
</config>
<config>
<name>isCachedFileShared</name>
<value></value>
</config>
<config>
<name>picFileExistTime</name>
<value></value>
</config>
<config>
<name>defaultCellNum</name>
<value></value>
</config>
<config>
<name>esProcDateFormat</name>
<value></value>
</config>
<config>
<name>esProcTimeFormat</name>
<value></value>
</config>
<config>
<name>esProcDatetimeFormat</name>
<value></value>
</config>
<config>
<!—集算器脚本(dfx)主目录-->
<name>esProcMainPath</name>
<value>/reportFiles</value>
</config>
<config>
<name>esProcTempPath</name>
<value></value>
</config>
<config>
<name>esProcSearchPath</name>
<value></value>
</config>
<config>
<name>esProcFileBufferSize</name>
<value></value>
</config>
<!—JDBC直连数据源配置-->
<jdbc-ds-configs>
<jdbc-ds-config>
<name>demo</name>
<dbType>UNKNOWN</dbType>
<url>jdbc:hsqldb:hsql://127.0.0.1/demo</url>
<driver>org.hsqldb.jdbcDriver</driver>
<userName>sa</userName>
<password></password>
<dbCharset>GBK</dbCharset>
<clientCharset>GBK</clientCharset>
<useSchema>false</useSchema>
<caseSentence>false</caseSentence>
<needTranContent>false</needTranContent>
<needTranSentence>false</needTranSentence> </jdbc-ds-config>
</jdbc-ds-configs>
</jdbc-ds-configs>
</reportConfig>
其他配置项含义可参考:集算报表V5.0在J2EE下的部署手册。
2.4拷贝dfx脚本文件
将编辑好的集算脚本拷贝到reportConfig.xml中设置的dfx主目录,如:/reportFiles。
2.5打war包
最简单的办法是用winrar工具,把整个报表应用压缩成zip格式的压缩包,然后把后缀改成.war,并把压缩包的名字改成应用名即可
另一种常见的打war包的方法是用java的jar命令,此时要求你的机器安装了java环境,开始-》运行-》cmd回车后在命令行里输入jar,如果系统出现如下提示,则表示java环境安装正常:
假设你的报表应用在d:\raqsoftReport目录下,那么在命令行中进入d:\raqsoftReport目录,然后输入命令
D:\raqsoftReport>jar –cvf raqsoftReport.war *.*
此时系统会在当前目录下创建一个新的war包raqsoftReport.war
注意事项:
1、应用中尽量不要有中文命名的文件,在某些环境下会导致war包发布失败
2、web.xml中的中文注释全部删除,在某些环境下会导致war包发布失败
某些情况下如果发布war包失败,例如websphere下,可能需要把web.xml的文件中第一句对字体的定义改成UTF-8,如下所示:<?xml version="1.0" encoding="UTF-8" ?>
最后将打完的war包上传到应用服务器(tomcat可以直接拷贝应用目录),完成报表应用的部署。