oracle报表开发方案

oracle报表开发方案PL SQL 也是一门语言 后台开发经常会用到 目前做要到一个功能 关于 报表任务调度 说明白了就是做几张报表 每天统计一次新数据 用于在 PC 页面上显示 我苦思冥想了几天 总结出三种方案 开发环境 SSM oracle spring springMVC mybatis oracle 1 在 pl sql 上 每张报表开发一个对应的储存过程 每个存储过程新建一个 DBMS JOB 按相

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模式,很多功能都需要在页面上进行操作和管理,用第二种方案可以很直观的进行维护和管理。

转载于:https://www.cnblogs.com/wry13172/p/6274613.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/178304.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月26日 下午5:35
下一篇 2026年3月26日 下午5:35


相关推荐

  • 山寨QQ登录界

    山寨QQ登录界importjava awt BorderLayout importjava awt Color importjava awt Dimension importjava awt Font importjava awt GridLayout importjava awt Image importjava awt Toolkit importjavax sw

    2026年3月17日
    2
  • PHP永久激活码2021(最新序列号破解)

    PHP永久激活码2021(最新序列号破解),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月20日
    325
  • C多线程编程实例 线程与窗体交互

    C多线程编程实例 线程与窗体交互C 多线程编程实例线程与窗体交互代码 publicpartia Form 声明线程数组 Thread workThreads newThread 10 publicForm1 InitializeCo

    2026年3月18日
    2
  • html,实现心动的表白代码

    html,实现心动的表白代码今天看到多年年前的大佬写的 js 表白代码 觉得不错 分析给大家代码在这宫里 Love linktype text css rel stylesheet href Love files default css scripttype text javascript src Love files jquery min js scripttype text linktype text

    2026年3月26日
    4
  • docker下载安装教程_mac装sql server

    docker下载安装教程_mac装sql server前言Docker提供轻量的虚拟化,你能够从Docker获得一个额外抽象层,你能够在单台机器上运行多个Docker微容器,而每个微容器里都有一个微服务或独立应用,例如你可以将Tomcat运行在一个D

    2022年7月31日
    6
  • java菜鸟教程+视频笔记

    java菜鸟教程+视频笔记1、java中局部变量是在栈上分配的;2、数组是储存在堆上的对象,可以保存多个同类型变量;3、在Java语言中,所有的变量在使用前必须声明。4、局部变量没有默认值,所以局部变量被声明后,必须经过初始化,才可以使用。5、内置类型有默认值,引用对象的默认值是null;6、非静态实例变量、非静态方法是通过对象实例进行调用的,不能直接从静态方法中调用;比如java源文件中main方法中不可以直接调用非静态…

    2022年6月14日
    30

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号