raqsoftConfig.xml

阅读(5440) 标签: 数据源配置, 授权,

关于润乾报表的参数设置,请打开文件(WEB-INF/raqsoftConfig.xml)。内容如下:

<!--注意:为避免程序使用异常,raqsoftConfig.xml文件的编码格式必须设置为UTF-8 -->

<?xml version="1.0" encoding="UTF-8"?>

<Config Version="1">

<Runtime >

<!—数据源中用户密码的加密级别:0表示明文,1表示密码加密,2表示URL、用户名和密码加密-->

<DBList encryptLevel="0">

//报表应用demo数据源

<!--数据库类型编号,编号依次代表的数据库类型为:[UNKNOWN:0; ORACLE:1; SQLSVR:2; SYBASE:3; SQLANY:4; INFMIX:5; FOXPRO:6; ACCESS:7; FOXBAS:8; DB2:9; MYSQL:10; KINGBASE:11; DERBY:12; HSQL:13; TERADATA:14; POSTGRES:15; DATALOGIC:16;  IMPALA:17;  ESSBASE:101;] -->

<DB name="reportdemo">

<!--由于xml文件中不允许出现&等特殊字符,因此如果urlvalue值中需包含&等特殊字符时,则需先将特殊符号进行转义,如先将&写成"&amp;",再写入文件中-->

<property name="url" value="jdbc:hsqldb:hsql://127.0.0.1/reportdemo" />

<property name="driver" value="org.hsqldb.jdbcDriver" />

<property name="type" value="13" />

<property name="user" value="sa" />

<property name="password" />

<property name="batchSize" value="1000" />

<!--是否自动连接。如果设定为true,则可以直接使用db.query()函数来访问数据库;如果为false,则不会自动连接,使用前必须用connect(db)语句连接-->

<property name="autoConnect" value="false" />

<!--数据库是否用模式名,例如:如果设置为true ,则在自动生成的sql语句中,会是select tbl.col1,tbl.col2 from tbl这样的语法,否则就是select col1,col2 from tbl -->

<property name="useSchema" value="false" />

<property name="addTilde" value="false" />

<!--数据库编码格式-->

<property name="dbCharset" value="GBK" />

<!--客户端编码格式-->

<property name="clientCharset" value="GBK" />

<!--数据库取出来的内容是否需要转码,设置为true时,当数据库编码与前端不一致的,需要将数据库中的数据转码后呈现-->

<property name="needTransContent" value="false" />

<!-- SQL语句是否需要转码,指从前端到数据库执行sql时,有可能需要转码把字符转成数据库的编码来填报或者查询-->

<property name="needTransSentence" value="false" />

<!-- SQL语句大小写是否敏感-->

<property name="caseSentence" value="false" />

</DB>

//查询和分析功能中报表DQL Server服务所需要的物理数据库demo数据源

<DB name="dqldemo">

<property name="url" value="jdbc:hsqldb:hsql://127.0.0.1/dqldemo" />

<property name="driver" value="org.hsqldb.jdbcDriver" />

<property name="type" value="13" />

<property name="user" value="sa" />

<property name="password" />

<property name="batchSize" value="1000" />

<property name="autoConnect" value="false" />

<property name="useSchema" value="false" />

<property name="addTilde" value="false" />

<property name="dbCharset" value="GBK" />

<property name="clientCharset" value="GBK" />

<property name="needTransContent" value="false" />

<property name="needTransSentence" value="false" />

<property name="caseSentence" value="false" />

</DB>

//配置查询和分析功能中所使用的报表DQL Server服务

<DB name="DataLogic">

<property name="url" value="jdbc:datalogic://127.0.0.1:3366/datalogic" />

<property name="driver" value="com.datalogic.jdbc.LogicDriver" />

<property name="type" value="16" />

<property name="user" value="root" />

<property name="password" value="root" />

<property name="batchSize" value="1000" />

<property name="autoConnect" value="false" />

<property name="useSchema" value="false" />

<property name="addTilde" value="false" />

<property name="dbCharset" value="GBK" />

<property name="clientCharset" value="GBK" />

<property name="needTransContent" value="false" />

<property name="needTransSentence" value="false" />

<property name="caseSentence" value="false" />

</DB>

</DBList>

<!--路径设置需注意以下说明:

1,使用相对路径时,路径前不需要加反斜杠“/”

2,绝对路径前需要带盘符或者反斜杠“/”。带反斜杠“/”时为绝对路径,表示拼接上当前盘的根目录,例如该程序的根目录在D盘,那么/reportFiles即表示D:/reportFiles-->

//集算器选项配置

<Esproc>

<charSet>GBK</charSet>

<!--配置spl文件寻址路径,可为相对路径,相对路径前面不需要加反斜杠”/”-->

<splPathList>

<splPath>WEB-INF/reportFiles</splPath>

</splPathList>

<dateFormat>yyyy-MM-dd</dateFormat>

<timeFormat>HH:mm:ss</timeFormat>

<dateTimeFormat>yyyy-MM-dd HH:mm:ss</dateTimeFormat>

<!--配置esProc主目录,主目录必须为绝对路径。主目录为空时则相对于web应用根目录-->

<mainPath />

<tempPath />

<bufSize>65536</bufSize>

<parallelNum>1</parallelNum>

<!—二进制文件区块大小 -->

<simpleTableBlockSize></simpleTableBlockSize>

<!--文本类型数据中,代表空值的字符串 -->

<nullStrings>nan,null,n/a</nullStrings>

<fetchCount></fetchCount>

<extLibsPath></extLibsPath>

</Esproc>

//报表选项配置

<Report>

<!--设置报表授权,可为相对路径,相对路径前面不需要加反斜杠”/”-->

<license> </license>

<!--编辑好的报表文件在应用中存放的位置,其值可相对于web应用根目录;也可是绝对路径,分隔符用“/”表示,如d:/myReport/web/webapps/demo/ WEB-INF/reportFiles;还可以是类路径。需要从类路径下查找报表文件时,可以将reportFiles目录放到WEB-INF/classes下,或者把reportFiles目录打成jar(jar里不能有中文否则tomcat启动不了)放到lib下,然后将home直接配置成reportFiles-->

<home>WEB-INF/reportFiles</home>

<!—设置报表样式文件,可为相对路径,相对路径时相对于应用根目录-->

<styleConfig>tmp/reportStyleConfig.xml</styleConfig>

<!--SQL查询语句存在错误时,是否在web页面显示SQL语句。适用于数据集:SQL检索/存储过程-->

<showSQL>true<showSQL>

</Report>

//填报表选项配置

<Input>

<!--表示编辑好的填报表文件在应用中存放的位置,其值可相对于web应用根目录;也可是绝对路径,分隔符用“/”表示,如D:/myReport/web/webapps/demo/ WEB-INF/reportFiles ,相对路径前面不需要加反斜杠”/” ;还可以是类路径。需要从类路径下查找报表文件时,可以将reportFiles目录放到WEB-INF/classes-->

<home>WEB-INF/reportFiles</home>

</Input>

</Runtime>

<Server>

<!-- 设置JNDI数据源

<JNDIList>

//指定与报表中所使用数据源名称一致的JNDI数据源名称

<JNDI name="jdbc/test">

//数据库类型编号,0-14依次代表的数据库类型为:[UNKNOWN:0; ORACLE:1; SQLSVR:2; SYBASE:3; SQLANY:4; INFMIX:5; FOXPRO:6; ACCESS:7; FOXBAS:8; DB2:9; MYSQL:10; KINGBASE:11; DERBY:12; HSQL:13; TERADATA:14;]

<property name="type" value="1"/>

<property name="batchSize" value="1000"/>

//引用数据库的JNDI数据源,格式为:java:comp/env/DataSource名称。通过JNDI名称找到DataSource,查找数据源时的环境串前缀,在不同的web服务器中不同,如Tomcat中是java:/comp/env,而WeblogicWebsphere中均不需要,可以不填。

服务器

Tomcat

Weblogic

Webshpere

Resin

Jboss

JNDIPrefix

java:comp/env

java:comp/env

Java:

 

<property name="lookup" value="java:comp/env/jdbc/test"/>

</JNDI>

</JNDIList>-->

<!-- 设置spring数据源

<SpringDBList>

//指定与报表中所使用数据源名称一致的spring数据源名称

<DataSource name=" ">

//当设置一个spring数据源时,id对应的value值为默认的datasource;当设置多个spring数据源时,id对应的value值应该与@Bean("xxx")设置的名字保持一致。

<property name="id" value="datasource"/>

//数据库类型编号,0-14依次代表的数据库类型为:[UNKNOWN:0; ORACLE:1; SQLSVR:2; SYBASE:3; SQLANY:4; INFMIX:5; FOXPRO:6; ACCESS:7; FOXBAS:8; DB2:9; MYSQL:10; KINGBASE:11; DERBY:12; HSQL:13; TERADATA:14;]

<property name="type" value=" "/>

</DataSource>

</SpringDBList>-->

<property name="raqsoftDir" value="raqsoft" />

<property name="jspCharset" value="UTF-8" />

<property name="cachedReportDir" value=" cache/report" />

<property name="jreInstallName" value="jre-6u24-windows-i586.exe" />

<property name="cachedIdPrefix" value="A" />

<property name="maxWaitTimeForReport" value="9999" />

<property name="inputCachePath" value="cache/input" />

<property name="alwaysReloadDefine" value="yes" />

<property name="maxConcurrentForReport" value="9999" />

<property name="cachedReportTimeout" value="120" />

<property name="picFileExistTime" value="60" />

<property name="maxWaitForReport" value="9999" />

<property name="defDataSource" value="demo" />

<property name="maxDatasetValueNum" value="-1" />

<property name="logConfig" value="WEB-INF/raqsoftReportLog.properties" />

<property name="cachedParamsTimeout" value="120" />

<!-- 多个用分号隔开,例如:A    192.168.0.10,8888;B, 192.168.0.11, 8888 -->

<property name="clusterMember" value="serverName, host, port" />

<property name="maxCellNum" value="" />

<property name="appUrlPrefix" value="" />

<property name="errorPage4export" value="" />

<property name="webServerType" value="" />

<property name="isCachedFileShared" value="" />

<property name="defaultCellNum" value="" />

<property name="cacheMonitorInterval" value="" />

<property name="errorPage" value="" />

<property name="reportEnterUrl" value="" />

<property name="wrapInchingWidth" value="" />

<property name="wrapByChar" value="" />

<property name="letterSpacingClass" value="" />

<property name=" customFunction" value="" />

<property name="slimerjsDir" value="e:\slimerjs-0.10.3"/>

<property name="echartsJSUrlPrefix" value="http://localhost:6868/demo/raqsoft"/>

<property name="paramCheckClass" value=""/>

<property name="disallowedParamWordList" value=""/>

<property name="inputCachedIdPrefix" value="A"/>

<property name="inputRemoteCached" value="false"/>

<!--多个用分号隔开,例如:A,192.168.0.11,8008;B,192.168.0.22,8008-->

<property name="inputClusterMember" value="serverName,host,port"/>

<property name="inputRowsPerLoad" value="100" />

<property name="theme" value="default" />

<property name="pdfPrintUseJSInIE" value="yes"/>

<property name="uploadFileSuffixLimit" value=""/>

</Server>

</Config>

以上参数说明如下:

(1)  logConfig表示报表系统日志记录配置属性文件。日志属性文件的配置说明请参照raqsoftReportLog.properties文件中的说明。

(2)  defDataSource表示用户在报表web应用中用到的缺省数据源。如果在润乾报表服务器上使用集算器输出的数据集,特别注意要保证数据源的一致性,即集算器文件用到的数据源名称和报表服务器配置的数据源名称一致。

(3)  jspCharset表示报表应用中的JSP页面的字符集,缺省值是UTF-8

(4)  cachedParamsTimeout表示提交给报表的参数在缓存中保存的时间,以分钟为单位。如果不设此参数,缺省值是120分。

(5)  cachedReportDir表示报表/大报表缓存的文件夹。用户应对此文件夹有写的权限,并根据报表的数量和访问量的大小以及缓存超时的时间,分配一个合理的空间大小。如果用户没有写的权限或不设此参数或设置错误,则采用JDK默认的临时文件夹(JVM属性java.io.tmpdir的值)

(6)  cachedIdPrefix 表示生成报表缓存文件时的前缀。只有在集群环境中并且多台服务器共享一个报表缓存目录时才需要设置,前缀可以任意指定,集群时不同机器用不同的前缀

(7)  cachedReportTimeout表示报表/填报表缓存保存的时间,以分钟为单位。如果不设此参数,缺省值是120分。此值应根据实际内存大小、缓存文件夹空间大小来调节,一般在13小时之间。

(8)  maxCellNum 当前报表系统能运算的最大单元格数,能够动态控制并发数。该数值的大小取决于硬件的配置,一般来说内存越大,这些数值可以设得越大。

(9)  maxConcurrentForReport表示报表web应用中服务器可以同时计算的报表的个数,以便有效控制服务器的内存使用量。该数值的大小取决于硬件的配置,一般来说内存越大,这些数值可以设得越大,但最多建议不要超过100

(10)  maxWaitForReport表示报表web应用中服务器可以等待计算的报表的个数,以便有效控制服务器的内存使用量。该数值的大小取决于硬件的配置,一般来说内存越大,这个数值可以设得越大,但最多建议不要超过100

(11)  maxWaitTimeForReport表示内存溢出后,最长等待多久才允许新任务访问,以秒为单位,一般建议为30

(12)  appUrlPrefix表示访问报表时的URLweb服务器地址、端口及web应用名组成的一个串,如http://192.168.0.1:8080/myWebApp。一般不用设置,程序可以自动拼出此串。但有时访问申请经过了服务器的多重转发,造成拼出来的串不对时,需要设置此值。特殊情况:如果出现多台机器集群或者内外网多个IP等情况,可能导致最终拼出来的ip不正确,又不能指定死ip,此时可以用/APPMAP来配置。

(13)  alwaysReloadDefine是否每次都重新读取报表模板。如果设为no, 服务器启动后,只要某报表被访问一次,该报表就缓存了,之后不会再从文件系统加载此报表模板了,例如修改报表样式后再访问报表,样式修改不生效,除非重启。如果设为yes,每次访问报表时均重新读取报表模板,不能享受性能管理提供的缓存功能。可以在应用开发测试阶段设为yes,以免报表定义改动以后,网页访问报表不能及时刷新。但应用正式上线以后,应将其设为no,此时如果修改了报表定义,应访问refreshReport.jsp来刷新相应的报表定义及其缓存。

(14)  errorPage4export增加一个web应用全局配置errorPage,用来指定tag中的exceptionPageinputExceptionPage的缺省值。

(15)  webServerType 应用服务器的类型。

(16)  jreInstallName 客户端使用打印applet的时候,如果没有安装jre环境,会自动根据该项配置到应用根目录下查找jre文件下载并安装。

(17)  clusterMember 集群时用于配置缓存机器和缓存端口号,目的用于实现集群主机之间的缓存同步缓存端口号必须是空闲端口号,不是服务器端口号,是集群缓存自己用的端口号。它的格式是:“缓存前缀,IP,端口;…”。需把当前机器的ip和端口号信息写在最前面。

(18)  isCachedFileShared  配置是否共享缓存目录,目的用于实现集群主机之间的缓存同步。如果它的值为yes,那么必须设置cachedReportDir属性的值为一个可读写的访问路径。

(19)  picFileExistTime表示缓存目录下图片文件的过期时间,时间单位为分钟,如果不设此参数,缺省值是60分。

(20)  defaultCellNum  预算单元格数。如果报表格数未设定,则按此设定数作为预算单元格数。目的是客户不必对所有报表逐一设报表格数表达式,而只对他认为的大报表进行设定。此属性只有设置了maxCellNum才有意义。

(21)  raqsoftDir  配置web应用中raqsoft目录相对于应用根目录的位置,raqsoft目录是部署报表环境所必须的系列目录,缺省默认为应用根目录下的raqsoft

(22)  maxDatasetValueNum  数据容量控制,用来控制报表系统并发数据集的数据总量峰值,以防报表服务器因为数据量太大而内存溢出造成服务器崩溃,其中单个数据集的数据量=字段数*行数。

(23)  inputCachePath    填报表上下载文件的临时缓存目录,可以是绝对路径或相对web根目录的相对路径。如果没有配置,系统默认在java用户主目录下创建一个目录input_tmpdir。使用相对路径时,路径前不需要加斜杠“/”。

(24)  cacheMonitorInterval 缓存监控程序执行缓存监控的时间间隔。

(25)  errorPage 展现报表错误信息的页面。使用报表标签exceptionPage也可以配置报表错误信息的页面,当exceptionPage缺省时,使用errorPage属性中配置的页面,当exceptionPage已经配置时,优先使用exceptionPage中配置的页面。

(26)  reportEnterUrl 展现报表时的页面url,对于某些系统中报表不是直接访问jsp时,需要指定此属性。比如struts里,是用.do来访问的。

(27)  wrapInchingWidth 自动换行时的留白宽度。

(28)  wrapByChar 自动换行时无需考虑避首避尾或者单词整体切分等等,属性值为yes或者no

(29)  letterSpacingClass 设定自动换行单元格的自定义字符间距的java类名。

(30)  customFunction自定义函数配置文件路径,自定义函数需要在customFunctions.properties中登记函数,该文件默认放置位置为:demo\WEB-INF\classes\config。当该文件放置到默认位置以外的位置时,需要配置customFunction属性。

(31)  slimerjsDir 设定slimerjs安装目录,支持绝对路径/相对路径,相对路径时相对webroot目录

(32)  echartsJSUrlPrefix配置echarts图形的js所在的父目录的访问地址。当应用以war包方式发布时,必须配置此项,可配置成绝对路径或http方式。注:不是以war包方式发布时,可以不用配置此项,程序会自动设置此项。

slimerjsDir echartsJSUrlPrefix属性主要用于Echarts统计图的导出和打印。具体可参考《教程》第三方图形导出与打印小节。

(33)  paramCheckClass设置参数值校验的类路径。默认使用内置的检查工具 com.raqsoft.report.util.DisabledCharChecker

(34)  disallowedParamWordList设置报表的禁用参数值,多个参数值之间可用逗号分隔,英文字母不区分大小写。

(35)  inputCachedIdPrefix设置填报集群中报表缓存的前缀,只有在填报集群环境中才需要设置。

(36)  inputRemoteCached 表示在填报集群环境中,远程访问其他机器的填报缓存时是否在本地生成缓存文件。缺省值是false

(37)  inputClusterMember 配置填报集群时缓存机器和缓存端口号,目的是实现填报集群机器之间的缓存同步。它的格式是:“缓存前缀,IP,端口;…

(38)  inputRowsPerLoad  设置填报表分批加载数据时,每批展现的数据行数,缺省值是50条。

(39)  theme 修改预览页面的easyui主题样式,缺省值是default

(40)  pdfPrintUseJSInIE 是否使用pdfjsIE浏览器中实现PDF打印。若值为yes,则使用pdfjs来打印;否则还需要安装adobePDF插件来实现打印。 特别说明:pdfjs只适用于IE9及以上版本,如果是IE9以下,会自动转变成使用PDF插件。具体使用说明可参考《程序员参考》 IE浏览器中PDF打印不使用安装插件的说明 小节。

(41)  uploadFileSuffixLimit 设置填报表上载文件类型列表,多个参数值之间用逗号分隔,默认的文件类型列表为“txt,doc,xlsx,xml,jpg,gif,png,avi,bak,bmp,img,swf,xl,csv,docx”。如果上载文件类型不想要任何限制,参数值可设置为null

XML文档中预定好的实体:实体必须以符号“&”开头,以符号“;”结尾

&lt; 

< 

小于号

&gt; 

> 

大于号

&amp; 

&

&apos; 

 

单引号

&quot; 

 

双引号

参数名均为大小写相关,用户必须根据自己应用的实际情况填写相应的参数值。