zoukankan      html  css  js  c++  java
  • 160316、实时处理oracle数据库中表的数据变化

    http://blog.csdn.net/as339000204/article/details/45390727

     
     

    近期接受项目需求,需要实时处理oracle数据库中表的数据变化,首先想到的是在程序中创建定时器,轮询表。鉴于程序冗余考虑,百度知:oracle数据库java存储过程。Oracle数据库有执行简单java代码的能力,想到一套新的解决思路。

    思路:创建oracle数据库触发器,当表的数据发生变化的时候,触发器调用oracle数据库java存储过程,该过程调用程序中的接口,告知程序处理逻辑业务。

     

     

    实现

    1. 在plsqldev 中编译java代码 调用接口(具体的语法百度即可) 访问地址是:http://192.168.12.57:8088/Jfinaltest/show

     

    [sql] 
    1. create or replace and compile java source named jxdClient as  
    2.   
    3. import java.net.*;  
    4.   
    5. public class Demo {  
    6.     
    7.   public static void main(String[] args) {  
    8.   
    9.     try {  
    10.       URL url = new URL("http://192.168.12.57:8088/Jfinaltest/show");  
    11.       URLConnection rulConnection = url.openConnection();  
    12.       rulConnection.connect();  
    13.       rulConnection.getInputStream();  
    14.     } catch (Exception e) {  
    15.       e.printStackTrace();  
    16.     }    
    17.   }  
    18. }  

     

    2. 生成存储过程

     

    [sql] 
    1. create or replace procedure prc_hehe as language java name 'Demo.main(java.lang.String[])';  

     

    3. 编写触发器调用存储过程(pre_hehe)

    [sql] 
    1. create or replace trigger jxd7_trigger_wf_nodeinstance  
    2. after update or insert  
    3. on jxd7_wf_nodeinstance  
    4. for each row  
    5. begin  
    6.   if inserting then  
    7.     prc_hehe;  
    8.   elsif updating then  
    9.     prc_hehe;  
    10.   elsif deleting then  
    11.     prc_hehe;  
    12.   end if;  
    13. end;  

    小结:每次表中的数据发生变化的时候,都会执行触发器中的存储过程,存储过程会调用程序的接口,之后程序处理业务逻辑。减少了代码量,保证了数据处理的实时性,减少了程序的压力

  • 相关阅读:
    vue typescript 父子组件间值的传递
    flex 布局列表自动换行
    css文字两端对齐
    webstorm windows 常用快捷键
    vue elmentUi el-scrollbar 美化滚动条样式
    简述在Vue脚手架中,组件以及父子组件(非父子组件)之间的传值
    简述Vue的实例属性、实例方法
    Js基本类型中常用的方法总结
    简述Vue中的过滤器
    简述Vue中的计算属性
  • 原文地址:https://www.cnblogs.com/zrbfree/p/5286068.html
Copyright © 2011-2022 走看看