润乾集算器与帆软报表集成 (直接通过 jdbc,类 DB 存储过程方式调用)
集算器概述
?
集算器作為一種大數(shù)據(jù)計(jì)算工具,不僅在潤(rùn)乾產(chǎn)品體系中能發(fā)揮它的巨大作用,在其他絕大部分?jǐn)?shù)據(jù)處理、數(shù)據(jù)計(jì)算領(lǐng)域的項(xiàng)目、產(chǎn)品中,也都有他助力計(jì)算的身影。比如傳統(tǒng)的報(bào)表工具,報(bào)表項(xiàng)目中,80% 的報(bào)表可以輕松做出來,20% 的因?yàn)橛写髷?shù)據(jù)量,或者是多樣性的非常規(guī)數(shù)據(jù)來源及去向,這時(shí)候就需要占用項(xiàng)目很多的時(shí)間去做二次開發(fā)支持了,通過集算器則可以輕松的解決這些問題。這 20% 的困難問題,幾乎所有的報(bào)表廠商都會(huì)有,潤(rùn)乾可以用集算器來解決,其他報(bào)表廠商,也同樣可以用集算器來解決,以此來省去那些占整個(gè)項(xiàng)目工期比例最多的二次開發(fā)的工作量。
加入集算器的傳統(tǒng)報(bào)表應(yīng)用結(jié)構(gòu)
?
?
這是引入了集算器后報(bào)表應(yīng)用的體系結(jié)構(gòu)圖,從圖中可以看到,比傳統(tǒng)報(bào)表應(yīng)用結(jié)構(gòu)中多了一個(gè)計(jì)算層:數(shù)據(jù)源的數(shù)據(jù)先經(jīng)過計(jì)算層的計(jì)算,再傳給呈現(xiàn)層去展現(xiàn)。
潤(rùn)乾集算器與帆軟報(bào)表應(yīng)用集成
?
接下來的內(nèi)容,我們將以帆軟報(bào)表工具為例,介紹如何將集算器引入到其報(bào)表應(yīng)用的體系結(jié)構(gòu)中。
友情提示:集算器與帆軟的集成不需要寫任何代碼,可直接通過 jdbc 方式調(diào)用集算器文件。集算器處理后的數(shù)據(jù)可直接用作帆軟報(bào)表數(shù)據(jù)集。
一、與帆軟的報(bào)表應(yīng)用做集成(實(shí)際也可稱為部署集算器 JDBC)
?
1,加載需要用到的 jar 包
集算器安裝路徑 esProc\lib 下,需要引入三個(gè)基礎(chǔ) jar 包:dm.jar?????????????//集算器計(jì)算引擎及JDBC驅(qū)動(dòng)包
icu4j\_3\_4_5.jar??//處理國(guó)際化dom4j-1.6.1.jar? ? //解析配置文件注:除基礎(chǔ)包外,還有一些特定功能的 jar,比如要在集算器 JDBC 中讀寫 Microsoft Office 文件,則需要加入 poi*.jar、xmlbeans-2.3.0.jar 等。
將以上三個(gè)基礎(chǔ) jar 放置到帆軟設(shè)計(jì)器安裝路徑 WebReport\WEB-INF\lib 下。
2,部署 xml 配置文件
配置文件兩個(gè):raqsoftConfig.xml 和 dfxConfig.xml。
分別可以在 [集算器安裝目錄]\esProc\config 和 [集算器安裝目錄]\esProc\classes 目錄下找到。
復(fù)制后放置在帆軟的報(bào)表應(yīng)用類路徑下,即 [帆軟安裝目錄]\ WebReport\WEB-INF\classes。
注意:當(dāng)集算器中要引用數(shù)據(jù)連接時(shí),要在 raqsoftConfig.xml 增加對(duì)應(yīng)配置。
3,配置集算器授權(quán)
集算器腳本的執(zhí)行需要授權(quán)支持,在獲取到授權(quán)文件后,可在 raqsoftConfig.xml 中如下位置配置:
?<Esproc><license>集算器授權(quán).lic</license><charSet>GBK</charSet></Esproc><!—lic文件放到類路徑下-->二、開發(fā)并部署集算器 dfx 腳本文件
?
我們這里以 dfx 讀取 excle 文件數(shù)據(jù)為例,讀取后展現(xiàn),簡(jiǎn)單示例一下。
Excel 內(nèi)容如下
?
集算器腳本
?
?
?
?
?
其中,A1 讀取 excel 文件并將第一個(gè) sheet 頁(yè)的數(shù)據(jù)讀入且第一行作為字段名稱行。
注:excel 或其他數(shù)據(jù)文件路徑可以是絕對(duì)也可以是相對(duì)。
部署: dfx 文件放至 應(yīng)用類路徑下,如帆軟設(shè)計(jì)器安裝目錄的 WebReport\WEB-INF\classes 下
三、帆軟報(bào)表設(shè)計(jì)器內(nèi)定義集算器(jdbc 方式)數(shù)據(jù)連接
?
配置如下(集算器作為邏輯數(shù)據(jù)庫(kù)調(diào)用)
???
?
打開“連接池屬性”,將“獲取連接前校驗(yàn)”改為“否”,否則報(bào)錯(cuò)連接失敗。
?
測(cè)試連接,成功即可。
四、帆軟設(shè)計(jì)器設(shè)計(jì)報(bào)表并調(diào)用集算器文件 (dfx) 生成數(shù)據(jù)集
?
1,新建工作簿并添加”數(shù)據(jù)庫(kù)查詢”類數(shù)據(jù)集
?
注意調(diào)用方法: call 集算器文件名 ()。帶有參數(shù)的也可以調(diào)用,如 call FR_lmysql(${hh}),其中 hh 是定義在報(bào)表模板要傳給集算器的參數(shù)名。
數(shù)據(jù)集加載后效果(字段名全部列出)
?
?
?
?
?
?
?
?
?
?
??????Ps_:在編輯數(shù)據(jù)集頁(yè)面,切換到集算器數(shù)據(jù)連接 會(huì)報(bào)連接失敗,不用管它(后續(xù)查出原因再修改),可正常調(diào)用。_
2,設(shè)計(jì)簡(jiǎn)單的網(wǎng)格報(bào)表
?
五、WEB 端報(bào)表效果
?
?
六、總結(jié)
?
集算器與帆軟報(bào)表集成后,集算器類似作為一個(gè)本地的邏輯數(shù)據(jù)庫(kù),采用存儲(chǔ)過程模式調(diào)用集算器文件即可,無需任何二次開發(fā)代碼。
因此,集算器作為一種大數(shù)據(jù)計(jì)算工具,不僅在潤(rùn)乾產(chǎn)品體系中能發(fā)揮它的巨大作用,也可為其他的報(bào)表工具、產(chǎn)品或項(xiàng)目在數(shù)據(jù)處理、數(shù)據(jù)計(jì)算提供強(qiáng)有力的幫助。如與帆軟報(bào)表的集成中,不僅可以為其報(bào)表呈現(xiàn)提供數(shù)據(jù)準(zhǔn)備,還能優(yōu)化整個(gè)應(yīng)用結(jié)構(gòu)。
鏈接:http://c.raqsoft.com.cn/article/1534313537246?r=javasun1990
來源:乾學(xué)院
總結(jié)
以上是生活随笔為你收集整理的润乾集算器与帆软报表集成 (直接通过 jdbc,类 DB 存储过程方式调用)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Windows桌面整理
- 下一篇: C++万能头