oracle开发方案,oracle報表開發方案

本文探讨了三种在SSM+Oracle环境中进行报表任务调度的PL/SQL方案。第一种是为每张报表创建DBMS_JOB,第二种是在存储过程中调用并由Spring定时任务触发,第三种是通过包和统一管理。作者分析了各方案的优缺点,认为第二种方案更适合B/S系统,便于维护和管理,因此选择了该方案。
摘要由CSDN通过智能技术生成

PL/SQL也是一門語言,后台開發經常會用到。

目前做要到一個功能,關於“報表任務調度”,說明白了就是做幾張報表,每天統計一次新數據,用於在PC頁面上顯示,我苦思冥想了幾天,總結出三種方案。

開發環境:SSM+oracle(spring,spring MVC,mybatis + oracle)。

1、在pl/sql上,每張報表開發一個對應的儲存過程,每個存儲過程新建一個DBMS_JOB,按相關需求定時執行。

2、在pl/sql上,每張報表開發一個對應的儲存過程,新建一張“報表信息表”,用於保存存儲過程信息;緊接着新建額外的存儲過程“報表任務調度過程”,在此存儲過程里調用報表對應的存儲過程,通過spring的定時任務(quartz)去定時調用存儲過程“報表任務調度過程”。

備注:在存儲過程==》“報表任務調度過程”調用報表存儲過程如下

V_COMMAND := 'BEGIN ' || V_RPT_PRO || '; END;'; (假設已經聲明 V_COMMAND VARCHAR2(300);)

EXECUTE IMMEDIATE V_COMMAND

USING IN param1, OUT V_param2, OUT V_param1, OUT V_param2; --參數類型和傳遞順序必須與存儲過程中的保持一致

3、在pl/sql上,新建一個package,package bady里面開發報表對應的儲存過程,加載到main里面,新建一個DBMS_JOB,定時執行JOB。

分析一下:

第一種方案比較容易理解,但比較麻煩,也不好維護。

第二種方案,流程是:spring調用“報表任務調度過程”,“報表任務調度過程”調用報表的存儲過程,這樣就不用新建DBMS_JOB,還能根據傳入的參數來決定何時調用哪一個報表的存儲過程,只要修改spring配置就能修改常用業務,便於管理,功能和業務也很好拓展和維護。

第三種方案,用包和統一管理存儲過程,也比較好維護和拓展,而且只需要新建一個JOB來調用MAIN即可,在開發效率,管理和維護上,也是一種不錯的選擇。

分析完以上三種方案之后,根據現實情況,決定用第二種方案,理由是:系統是的B/S模式,很多功能都需要在頁面上進行操作和管理,用第二種方案可以很直觀的進行維護和管理。

本文為頭條號作者發布,不代表今日頭條立場。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值