應用系統(tǒng)二次開發(fā)中數(shù)據庫數(shù)據讀取的捷徑
摘要:應用系統(tǒng)的二次開發(fā),一般通過ODBC等數(shù)據庫驅動讀取數(shù)據庫數(shù)據,或者由開發(fā)廠商提供接口API函數(shù)。由于數(shù)據庫驅動經過了很多中間環(huán)節(jié),而且需要考慮到通用性、兼容性等各個方面,使性能、效率大打折扣;一般
摘要:應用系統(tǒng)的二次開發(fā),一般通過ODBC等數(shù)據庫驅動讀取數(shù)據庫數(shù)據,或者由開發(fā)廠商提供接口API函數(shù)。由于數(shù)據庫驅動經過了很多中間環(huán)節(jié),而且需要考慮到通用性、兼容性等各個方面,使性能、效率大打折扣;一般情況下,開發(fā)廠商不提供API函數(shù),即使提供了函數(shù),能讀取的數(shù)據也有限。本文介紹了利用數(shù)據庫的觸發(fā)器和用戶自定義函數(shù)機制,高效、靈活讀取數(shù)據庫數(shù)據的方法,對于用戶自行組織的二次應用開發(fā)具有一定的參考價值。
關鍵詞 :數(shù)據庫 自定義函數(shù) 觸發(fā)器
引言:經過多年的信息化建設,電力企業(yè)的信息系統(tǒng)開發(fā)應用已經越來越廣泛,電力調度自動化系統(tǒng)、營銷管理信息系統(tǒng)、辦公自動化系統(tǒng)、生產管理系統(tǒng)、財務管理系統(tǒng)等一系列系統(tǒng)的應用,顯著的提高了企業(yè)的生產、經營、管理水平和工作效率。
但是,這些系統(tǒng)一般是由規(guī)模較大的軟件公司開發(fā),當功能無法滿足要求時,當需要增加特定功能時,開發(fā)單位往往不愿意破壞通用性而對系統(tǒng)進行大的修改。尤其是當開發(fā)需要綜合利用多個系統(tǒng)的數(shù)據時,即使只是一個小小的功能,也得把各個系統(tǒng)的開發(fā)廠家召集起來,協(xié)商方案,聯(lián)合開發(fā),既千頭萬緒,又費錢費時。
這時,在原有系統(tǒng)基礎上進行數(shù)據采集,不破壞原系統(tǒng)的二次開發(fā),就成為最好的選擇方案。
本文具體實現(xiàn)的環(huán)境是IBM DB2數(shù)據庫 for Windows 版、Visuall C++ 6.0。此方法也適用于Oracle、SQL Server等其他數(shù)據庫和開發(fā)工具。
實現(xiàn)過程。假設我們原有應用系統(tǒng)的數(shù)據庫名為Data,我們要實時讀取它的幾張表的部分數(shù)據。我們需要做的工作包括:
1、 定義數(shù)據庫觸發(fā)器;
2、 編寫數(shù)據庫自定義函數(shù)并在數(shù)據庫上創(chuàng)建此函數(shù);
3、 編寫數(shù)據接收和處理程序,本文稱之為“數(shù)據處理中心”。
工作流程圖如下:
數(shù)據讀取的工作流程圖
一個觸發(fā)器有三個基本部件:1、觸發(fā)事件、2、觸發(fā)器的限制、3、觸發(fā)器動作。觸發(fā)事件是對指定表或記錄的INSERT、UPDATE或DELETE等操作;觸發(fā)器的限制是指數(shù)據的定義范圍,可以定義自己感興趣的數(shù)據對象(行、字段、列、組合表達式等);觸發(fā)器動作一般指觸發(fā)器激發(fā)后,導致的操作。
利用觸發(fā)器的工作原理,我們可以創(chuàng)建一個觸發(fā)器來激發(fā)自定義函數(shù),把需要的數(shù)據通過觸發(fā)器定義的SQL語句查詢出來,作為參數(shù)傳遞給自定義函數(shù)。
假設數(shù)據庫Data有以下三張表,它們的數(shù)據庫用戶模式為user:
表一:Line_Base
關鍵詞 :數(shù)據庫 自定義函數(shù) 觸發(fā)器
引言:經過多年的信息化建設,電力企業(yè)的信息系統(tǒng)開發(fā)應用已經越來越廣泛,電力調度自動化系統(tǒng)、營銷管理信息系統(tǒng)、辦公自動化系統(tǒng)、生產管理系統(tǒng)、財務管理系統(tǒng)等一系列系統(tǒng)的應用,顯著的提高了企業(yè)的生產、經營、管理水平和工作效率。
但是,這些系統(tǒng)一般是由規(guī)模較大的軟件公司開發(fā),當功能無法滿足要求時,當需要增加特定功能時,開發(fā)單位往往不愿意破壞通用性而對系統(tǒng)進行大的修改。尤其是當開發(fā)需要綜合利用多個系統(tǒng)的數(shù)據時,即使只是一個小小的功能,也得把各個系統(tǒng)的開發(fā)廠家召集起來,協(xié)商方案,聯(lián)合開發(fā),既千頭萬緒,又費錢費時。
這時,在原有系統(tǒng)基礎上進行數(shù)據采集,不破壞原系統(tǒng)的二次開發(fā),就成為最好的選擇方案。
本文具體實現(xiàn)的環(huán)境是IBM DB2數(shù)據庫 for Windows 版、Visuall C++ 6.0。此方法也適用于Oracle、SQL Server等其他數(shù)據庫和開發(fā)工具。
實現(xiàn)過程。假設我們原有應用系統(tǒng)的數(shù)據庫名為Data,我們要實時讀取它的幾張表的部分數(shù)據。我們需要做的工作包括:
1、 定義數(shù)據庫觸發(fā)器;
2、 編寫數(shù)據庫自定義函數(shù)并在數(shù)據庫上創(chuàng)建此函數(shù);
3、 編寫數(shù)據接收和處理程序,本文稱之為“數(shù)據處理中心”。
工作流程圖如下:

一個觸發(fā)器有三個基本部件:1、觸發(fā)事件、2、觸發(fā)器的限制、3、觸發(fā)器動作。觸發(fā)事件是對指定表或記錄的INSERT、UPDATE或DELETE等操作;觸發(fā)器的限制是指數(shù)據的定義范圍,可以定義自己感興趣的數(shù)據對象(行、字段、列、組合表達式等);觸發(fā)器動作一般指觸發(fā)器激發(fā)后,導致的操作。
利用觸發(fā)器的工作原理,我們可以創(chuàng)建一個觸發(fā)器來激發(fā)自定義函數(shù),把需要的數(shù)據通過觸發(fā)器定義的SQL語句查詢出來,作為參數(shù)傳遞給自定義函數(shù)。
假設數(shù)據庫Data有以下三張表,它們的數(shù)據庫用戶模式為user:
表一:Line_Base
變電所名 | 線路名 | 線路長度 | 電壓等級 | 備注 |
Station_name | Line_name | Line_Size | Voltage_Grade |

責任編輯:和碩涵
免責聲明:本文僅代表作者個人觀點,與本站無關。其原創(chuàng)性以及文中陳述文字和內容未經本站證實,對本文以及其中全部或者部分內容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關內容。
我要收藏
個贊
-
現(xiàn)貨模式下谷電用戶價值再評估
2020-10-10電力現(xiàn)貨市場,電力交易,電力用戶 -
PPT | 高校綜合能源服務有哪些解決方案?
2020-10-09綜合能源服務,清潔供熱,多能互補 -
深度文章 | “十三五”以來電力消費增長原因分析及中長期展望
2020-09-27電力需求,用電量,全社會用電量
-
PPT | 高校綜合能源服務有哪些解決方案?
2020-10-09綜合能源服務,清潔供熱,多能互補 -
深度文章 | “十三五”以來電力消費增長原因分析及中長期展望
2020-09-27電力需求,用電量,全社會用電量 -
我國電力改革涉及的電價問題
-
電化學儲能應用現(xiàn)狀及對策研究
2019-08-14電化學儲能應用 -
《能源監(jiān)測與評價》——能源系統(tǒng)工程之預測和規(guī)劃
-
《能源監(jiān)測與評價》——能源系統(tǒng)工程之基本方法
-
貴州職稱論文發(fā)表選擇泛亞,論文發(fā)表有保障
2019-02-20貴州職稱論文發(fā)表 -
《電力設備管理》雜志首屆全國電力工業(yè) 特約專家征文
2019-01-05電力設備管理雜志 -
國內首座蜂窩型集束煤倉管理創(chuàng)新與實踐
-
人力資源和社會保障部:電線電纜制造工國家職業(yè)技能標準
-
人力資源和社會保障部:變壓器互感器制造工國家職業(yè)技能標準
-
《低壓微電網并網一體化裝置技術規(guī)范》T/CEC 150
2019-01-02低壓微電網技術規(guī)范
-
現(xiàn)貨模式下谷電用戶價值再評估
2020-10-10電力現(xiàn)貨市場,電力交易,電力用戶 -
建議收藏 | 中國電價全景圖
2020-09-16電價,全景圖,電力 -
一張圖讀懂我國銷售電價附加
2020-03-05銷售電價附加
-
電氣工程學科排行榜發(fā)布!華北電力大學排名第二
-
國家電網61家單位招聘畢業(yè)生
2019-03-12國家電網招聘畢業(yè)生 -
《電力設備管理》雜志讀者俱樂部會員招募
2018-10-16電力設備管理雜志