第三方应用程序连接外部库

阅读(144) 标签: 第三方程序, 外部库,

很多时候,我们可能不是直接在集算器中执行spl脚本,而是将集算器集成到第三方应用中来使用。那么如果想要使用外部库功能,就需要从【集算器安装根目录】/esProc/config目录下取raqsoftConfig.xml,手动在文件的<Runtime><EsProc> ... </EsProc></Runtime>中加上以下代码,指定外部库所需jar的引用路径:

<extLibsPath>外部库文件夹路径</extLibsPath>

<importLibs>

<lib>外部库文件夹名称</lib> 

</importLibs>

下面以集算器嵌入到java应用程序中为例,介绍reportliteCli外部库在第三方应用中的使用:

1. 加载集算器JDBC需要用到的jar

参考《教程》 集算器JDBC的基本部署 章节,放入集算器JDBC所需的jar

2. 配置集算器JDBCraqsoftConfig.xml文件

参考《教程》配置raqsoftConfig.xml章节

3. 加载ReportLite外部库jar

reportliteCli外部库核心jarscu-reportlite-cli-2.10.jar)及以下列表的jar包从报表类路径(【安装根目录】\reportlite\lib中拷贝到一个独立的目录,如(D:\ extlib\ReportLiteCli

scu-reportlite-cli-2.10.jar

esproc-ext-********.jar

htmlparser-1.6.jar

pdfbox-2.0.27.jar

fontbox-2.0.27.jar

graphics-box2.0.27.jar

mail-1.4.4.jar

reportlite.jar

jboss-servlet-api_3.1-1.0.0.jar

commons-codec-1.15.jar

core-3.3.0.jar

batik-all-1.16.jar

poi-5.2.5.jar

poi-ooxml-5.2.5.jar

poi-ooxml-lite-5.2.5.jar

其中,ReportLite外部库核心jarscu-reportlite-cli-2.10.jar

注:以上第三方依赖jar,用户可根据实际应用环境灵活使用。

 

4. 配置ReportLite外部库所需的xml文件

从【安装根目录】\reportlite\config下复制raqsoftConfig.xml(复制后文件名可随意命名)这里我们将文件名命名为raqsoftConfigReportLite.xml,在raqsoftConfigReportLite.xml文件中需配置如下节点:

<Report>

<home> </home>  //报表主目录配置

<styleConfig> </styleConfig>  //报表样式配置

</Report>

说明:

<home>配置报表的默认存储目录,使用相对路径读取报表时会相对这里配置的主目录。

<styleConfig>配置报表样式文件路径,该节点可以为空。

 

5. 配置数据源

需要读取的报表中如用到数据源,那么在报表外部库xml文件(这里指步骤4重命名的raqsoftConfigReportLite.xml)中则需要配置与之名称相同的数据源,并且数据结构要一致。如果报表中没有使用数据源,则本步可省略。

<DB name="demo">

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

<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="true" />

… …

</DB>

如果通过命令行方式执行spl文件,那么需要配置xml中数据源节点的autoConnect属性值为true,否则会找不到数据源。

 

6. 在集算器JDBCraqsoftConfig.xml中加入外部库的节点<lib>

配置外部库的节点<lib>,上述步骤3中我们已将ReportLite外部库所需的jar放入到D:\ extlib\ReportLiteCli目录下,下面可直接添加节点:

<Esproc>

… …

//配置外部库文件夹路径

<extLibsPath>D:\extlib</extLibsPath>

<importLibs>

//配置外部库文件夹名称

<lib>ReportLiteCli</lib>

</importLibs>

</Esproc>

 

7. 部署访问ReportLite外部库数据的spl文件:

 

A

 

1

>reportlite_config("D:\\extlib\\ReportLiteCli\\raqsoftConfigReportLite.xml")

读取ReportLite配置文件信息

2

=reportlite_open("D:\\test.rptx")

读取test.rptx

3

=reportlite_run(A2)

计算test.rptx

spl文件部署方式参考《教程》应用集成 JAVA调用章节

到此,就可以在JAVA中调用spl文件了。