oracle开发方案,oracle報表開發方案
PL/SQL也是一門語言,后臺開發(fā)經(jīng)常會用到。
目前做要到一個功能,關(guān)於“報表任務(wù)調(diào)度”,說明白了就是做幾張報表,每天統(tǒng)計一次新數(shù)據(jù),用於在PC頁面上顯示,我苦思冥想了幾天,總結(jié)出三種方案。
開發(fā)環(huán)境:SSM+oracle(spring,spring MVC,mybatis + oracle)。
1、在pl/sql上,每張報表開發(fā)一個對應(yīng)的儲存過程,每個存儲過程新建一個DBMS_JOB,按相關(guān)需求定時執(zhí)行。
2、在pl/sql上,每張報表開發(fā)一個對應(yīng)的儲存過程,新建一張“報表信息表”,用於保存存儲過程信息;緊接著新建額外的存儲過程“報表任務(wù)調(diào)度過程”,在此存儲過程里調(diào)用報表對應(yīng)的存儲過程,通過spring的定時任務(wù)(quartz)去定時調(diào)用存儲過程“報表任務(wù)調(diào)度過程”。
備注:在存儲過程==》“報表任務(wù)調(diào)度過程”調(diào)用報表存儲過程如下
V_COMMAND := 'BEGIN ' || V_RPT_PRO || '; END;'; (假設(shè)已經(jīng)聲明 V_COMMAND VARCHAR2(300);)
EXECUTE IMMEDIATE V_COMMAND
USING IN param1, OUT V_param2, OUT V_param1, OUT V_param2; --參數(shù)類型和傳遞順序必須與存儲過程中的保持一致
3、在pl/sql上,新建一個package,package bady里面開發(fā)報表對應(yīng)的儲存過程,加載到main里面,新建一個DBMS_JOB,定時執(zhí)行JOB。
分析一下:
第一種方案比較容易理解,但比較麻煩,也不好維護。
第二種方案,流程是:spring調(diào)用“報表任務(wù)調(diào)度過程”,“報表任務(wù)調(diào)度過程”調(diào)用報表的存儲過程,這樣就不用新建DBMS_JOB,還能根據(jù)傳入的參數(shù)來決定何時調(diào)用哪一個報表的存儲過程,只要修改spring配置就能修改常用業(yè)務(wù),便於管理,功能和業(yè)務(wù)也很好拓展和維護。
第三種方案,用包和統(tǒng)一管理存儲過程,也比較好維護和拓展,而且只需要新建一個JOB來調(diào)用MAIN即可,在開發(fā)效率,管理和維護上,也是一種不錯的選擇。
分析完以上三種方案之后,根據(jù)現(xiàn)實情況,決定用第二種方案,理由是:系統(tǒng)是的B/S模式,很多功能都需要在頁面上進行操作和管理,用第二種方案可以很直觀的進行維護和管理。
本文為頭條號作者發(fā)布,不代表今日頭條立場。
總結(jié)
以上是生活随笔為你收集整理的oracle开发方案,oracle報表開發方案的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1hm2等于多少m2呢?
- 下一篇: linux安装oracle 操作系统内核