亚洲狼人综合,本道综合精品,在线看福利影,国产亚洲精品久久久玫瑰,日韩欧美精品在线观看,日韩在线国产,欧美乱码一区二区三区

應用系統(tǒng)二次開發(fā)中數據庫數據讀取的捷徑

2013-12-13 10:29:57 電力信息化  點擊量: 評論 (0)
摘要:應用系統(tǒng)的二次開發(fā),一般通過ODBC等數據庫驅動讀取數據庫數據,或者由開發(fā)廠商提供接口API函數。由于數據庫驅動經過了很多中間環(huán)節(jié),而且需要考慮到通用性、兼容性等各個方面,使性能、效率大打折扣;一般
Remark
Char[36] Char[36] Integer Integer Char[36]
表二:Line_Value
線路名 線電壓值 線電流值 備注
Line_name Voltage Electricity Remark
Char[36] Double Double Char[36]
表三:Line_Manager
線路名 管理班組 管理級別 備注
Line_name Manager Line_Grade Remark
Char[36] Char[36] Char[36] Char[36]
 
我們需要實時讀取Line_Value表的每一個新增的電壓值和其相關信息(變電所、管理班組等)。在Line_Value表上建立一個觸發(fā)器Get_Voltage:
    CREATE TRIGGER user.Get_Voltage AFTER  INSERT  ON User.Line_Value   REFERENCING  NEW AS newrow  FOR EACH ROW  MODE DB2SQL WHEN ( 2>1)
BEGIN ATOMIC
    VALUES(user.get_data( (select Station_name from user.Line_base where Line_name =newrow.Line_name), newrow.Line_name,
(select Line_size from user.Line_base where Line_name =newrow.Line_name), (select Voltage_Grade from user.Line_base where Line_name =newrow.Line_name), (select Manager from user.Line_Manager where Line_name =newrow.Line_name),
newrow.Voltage,newrow.Electricity));
END;
這個觸發(fā)器向自定義函數get_data傳遞了7個參數,分別來自三張表。Line_Value表每插入一條記錄,觸發(fā)器將自動把新記錄的相應字段值傳送至函數的7個參數,并調用自定義函數。
自定義函數收到觸發(fā)器傳遞的參數數據后,再把數據傳送到數據處理中心。傳送方式可以通過共享文件(內存文件、硬盤文件)實現,也可以通過TCP/IP鏈路實現。前者實現簡單,但靈活性小,要求數據處理中心與數據庫在同一個計算機上運行;后者靈活性強,數據處理中心可以在聯網的任何一臺計算機運行,支持不同的操作系統(tǒng)。
    我們把需要讀取的數據定義為如下結構:
typedef struct  {
    char       Station_name[36]; //變電所名稱  Line_Base表
    char       Line_name[36];    //線路名稱    Line_Base表
    long       Line_size;    //線路長度    Line_Base表
    long       Voltage_Grade;    //電壓等級    Line_Base表
    char       Manager[36]   ;   //線路維護者  Line_Manager表
    double Voltage _value;   //電壓值      Line_Value表
    double Electricity;      //電流值    Line_Value表
}Datastru; 
一、文件共享方式,這里只討論內存文件的共享。
1、
大云網官方微信售電那點事兒

責任編輯:和碩涵

免責聲明:本文僅代表作者個人觀點,與本站無關。其原創(chuàng)性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
?