oracle報表開發方案

來源:互聯網
上載者:User

標籤:需要   and   通過   sql   size   bsp   儲存   using   效率   

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模式,很多功能都需要在頁面上進行操作和管理,用第二種方案可以很直觀的進行維護和管理。

oracle報表開發方案

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.