應(yīng)用系統(tǒng)二次開(kāi)發(fā)中數(shù)據(jù)庫(kù)數(shù)據(jù)讀取的捷徑
摘要:應(yīng)用系統(tǒng)的二次開(kāi)發(fā),一般通過(guò)ODBC等數(shù)據(jù)庫(kù)驅(qū)動(dòng)讀取數(shù)據(jù)庫(kù)數(shù)據(jù),或者由開(kāi)發(fā)廠商提供接口API函數(shù)。由于數(shù)據(jù)庫(kù)驅(qū)動(dòng)經(jīng)過(guò)了很多中間環(huán)節(jié),而且需要考慮到通用性、兼容性等各個(gè)方面,使性能、效率大打折扣;一般
摘要:應(yīng)用系統(tǒng)的二次開(kāi)發(fā),一般通過(guò)ODBC等數(shù)據(jù)庫(kù)驅(qū)動(dòng)讀取數(shù)據(jù)庫(kù)數(shù)據(jù),或者由開(kāi)發(fā)廠商提供接口API函數(shù)。由于數(shù)據(jù)庫(kù)驅(qū)動(dòng)經(jīng)過(guò)了很多中間環(huán)節(jié),而且需要考慮到通用性、兼容性等各個(gè)方面,使性能、效率大打折扣;一般情況下,開(kāi)發(fā)廠商不提供API函數(shù),即使提供了函數(shù),能讀取的數(shù)據(jù)也有限。本文介紹了利用數(shù)據(jù)庫(kù)的觸發(fā)器和用戶自定義函數(shù)機(jī)制,高效、靈活讀取數(shù)據(jù)庫(kù)數(shù)據(jù)的方法,對(duì)于用戶自行組織的二次應(yīng)用開(kāi)發(fā)具有一定的參考價(jià)值。
關(guān)鍵詞 :數(shù)據(jù)庫(kù) 自定義函數(shù) 觸發(fā)器
引言:經(jīng)過(guò)多年的信息化建設(shè),電力企業(yè)的信息系統(tǒng)開(kāi)發(fā)應(yīng)用已經(jīng)越來(lái)越廣泛,電力調(diào)度自動(dòng)化系統(tǒng)、營(yíng)銷管理信息系統(tǒng)、辦公自動(dòng)化系統(tǒng)、生產(chǎn)管理系統(tǒng)、財(cái)務(wù)管理系統(tǒng)等一系列系統(tǒng)的應(yīng)用,顯著的提高了企業(yè)的生產(chǎn)、經(jīng)營(yíng)、管理水平和工作效率。
但是,這些系統(tǒng)一般是由規(guī)模較大的軟件公司開(kāi)發(fā),當(dāng)功能無(wú)法滿足要求時(shí),當(dāng)需要增加特定功能時(shí),開(kāi)發(fā)單位往往不愿意破壞通用性而對(duì)系統(tǒng)進(jìn)行大的修改。尤其是當(dāng)開(kāi)發(fā)需要綜合利用多個(gè)系統(tǒng)的數(shù)據(jù)時(shí),即使只是一個(gè)小小的功能,也得把各個(gè)系統(tǒng)的開(kāi)發(fā)廠家召集起來(lái),協(xié)商方案,聯(lián)合開(kāi)發(fā),既千頭萬(wàn)緒,又費(fèi)錢費(fèi)時(shí)。
這時(shí),在原有系統(tǒng)基礎(chǔ)上進(jìn)行數(shù)據(jù)采集,不破壞原系統(tǒng)的二次開(kāi)發(fā),就成為最好的選擇方案。
本文具體實(shí)現(xiàn)的環(huán)境是IBM DB2數(shù)據(jù)庫(kù) for Windows 版、Visuall C++ 6.0。此方法也適用于Oracle、SQL Server等其他數(shù)據(jù)庫(kù)和開(kāi)發(fā)工具。
實(shí)現(xiàn)過(guò)程。假設(shè)我們?cè)袘?yīng)用系統(tǒng)的數(shù)據(jù)庫(kù)名為Data,我們要實(shí)時(shí)讀取它的幾張表的部分?jǐn)?shù)據(jù)。我們需要做的工作包括:
1、 定義數(shù)據(jù)庫(kù)觸發(fā)器;
2、 編寫數(shù)據(jù)庫(kù)自定義函數(shù)并在數(shù)據(jù)庫(kù)上創(chuàng)建此函數(shù);
3、 編寫數(shù)據(jù)接收和處理程序,本文稱之為“數(shù)據(jù)處理中心”。
工作流程圖如下:
一個(gè)觸發(fā)器有三個(gè)基本部件:1、觸發(fā)事件、2、觸發(fā)器的限制、3、觸發(fā)器動(dòng)作。觸發(fā)事件是對(duì)指定表或記錄的INSERT、UPDATE或DELETE等操作;觸發(fā)器的限制是指數(shù)據(jù)的定義范圍,可以定義自己感興趣的數(shù)據(jù)對(duì)象(行、字段、列、組合表達(dá)式等);觸發(fā)器動(dòng)作一般指觸發(fā)器激發(fā)后,導(dǎo)致的操作。
利用觸發(fā)器的工作原理,我們可以創(chuàng)建一個(gè)觸發(fā)器來(lái)激發(fā)自定義函數(shù),把需要的數(shù)據(jù)通過(guò)觸發(fā)器定義的SQL語(yǔ)句查詢出來(lái),作為參數(shù)傳遞給自定義函數(shù)。
假設(shè)數(shù)據(jù)庫(kù)Data有以下三張表,它們的數(shù)據(jù)庫(kù)用戶模式為user:
表一:Line_Base
關(guān)鍵詞 :數(shù)據(jù)庫(kù) 自定義函數(shù) 觸發(fā)器
引言:經(jīng)過(guò)多年的信息化建設(shè),電力企業(yè)的信息系統(tǒng)開(kāi)發(fā)應(yīng)用已經(jīng)越來(lái)越廣泛,電力調(diào)度自動(dòng)化系統(tǒng)、營(yíng)銷管理信息系統(tǒng)、辦公自動(dòng)化系統(tǒng)、生產(chǎn)管理系統(tǒng)、財(cái)務(wù)管理系統(tǒng)等一系列系統(tǒng)的應(yīng)用,顯著的提高了企業(yè)的生產(chǎn)、經(jīng)營(yíng)、管理水平和工作效率。
但是,這些系統(tǒng)一般是由規(guī)模較大的軟件公司開(kāi)發(fā),當(dāng)功能無(wú)法滿足要求時(shí),當(dāng)需要增加特定功能時(shí),開(kāi)發(fā)單位往往不愿意破壞通用性而對(duì)系統(tǒng)進(jìn)行大的修改。尤其是當(dāng)開(kāi)發(fā)需要綜合利用多個(gè)系統(tǒng)的數(shù)據(jù)時(shí),即使只是一個(gè)小小的功能,也得把各個(gè)系統(tǒng)的開(kāi)發(fā)廠家召集起來(lái),協(xié)商方案,聯(lián)合開(kāi)發(fā),既千頭萬(wàn)緒,又費(fèi)錢費(fèi)時(shí)。
這時(shí),在原有系統(tǒng)基礎(chǔ)上進(jìn)行數(shù)據(jù)采集,不破壞原系統(tǒng)的二次開(kāi)發(fā),就成為最好的選擇方案。
本文具體實(shí)現(xiàn)的環(huán)境是IBM DB2數(shù)據(jù)庫(kù) for Windows 版、Visuall C++ 6.0。此方法也適用于Oracle、SQL Server等其他數(shù)據(jù)庫(kù)和開(kāi)發(fā)工具。
實(shí)現(xiàn)過(guò)程。假設(shè)我們?cè)袘?yīng)用系統(tǒng)的數(shù)據(jù)庫(kù)名為Data,我們要實(shí)時(shí)讀取它的幾張表的部分?jǐn)?shù)據(jù)。我們需要做的工作包括:
1、 定義數(shù)據(jù)庫(kù)觸發(fā)器;
2、 編寫數(shù)據(jù)庫(kù)自定義函數(shù)并在數(shù)據(jù)庫(kù)上創(chuàng)建此函數(shù);
3、 編寫數(shù)據(jù)接收和處理程序,本文稱之為“數(shù)據(jù)處理中心”。
工作流程圖如下:
數(shù)據(jù)讀取的工作流程圖
一個(gè)觸發(fā)器有三個(gè)基本部件:1、觸發(fā)事件、2、觸發(fā)器的限制、3、觸發(fā)器動(dòng)作。觸發(fā)事件是對(duì)指定表或記錄的INSERT、UPDATE或DELETE等操作;觸發(fā)器的限制是指數(shù)據(jù)的定義范圍,可以定義自己感興趣的數(shù)據(jù)對(duì)象(行、字段、列、組合表達(dá)式等);觸發(fā)器動(dòng)作一般指觸發(fā)器激發(fā)后,導(dǎo)致的操作。
利用觸發(fā)器的工作原理,我們可以創(chuàng)建一個(gè)觸發(fā)器來(lái)激發(fā)自定義函數(shù),把需要的數(shù)據(jù)通過(guò)觸發(fā)器定義的SQL語(yǔ)句查詢出來(lái),作為參數(shù)傳遞給自定義函數(shù)。
假設(shè)數(shù)據(jù)庫(kù)Data有以下三張表,它們的數(shù)據(jù)庫(kù)用戶模式為user:
表一:Line_Base
變電所名 | 線路名 | 線路長(zhǎng)度 | 電壓等級(jí) | 備注 |
Station_name | Line_name | Line_Size | Voltage_Grade |
責(zé)任編輯:和碩涵
免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與本站無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
我要收藏
個(gè)贊
-
現(xiàn)貨模式下谷電用戶價(jià)值再評(píng)估
2020-10-10電力現(xiàn)貨市場(chǎng),電力交易,電力用戶 -
PPT | 高校綜合能源服務(wù)有哪些解決方案?
2020-10-09綜合能源服務(wù),清潔供熱,多能互補(bǔ) -
深度文章 | “十三五”以來(lái)電力消費(fèi)增長(zhǎng)原因分析及中長(zhǎng)期展望
2020-09-27電力需求,用電量,全社會(huì)用電量
-
PPT | 高校綜合能源服務(wù)有哪些解決方案?
2020-10-09綜合能源服務(wù),清潔供熱,多能互補(bǔ) -
深度文章 | “十三五”以來(lái)電力消費(fèi)增長(zhǎng)原因分析及中長(zhǎng)期展望
2020-09-27電力需求,用電量,全社會(huì)用電量 -
我國(guó)電力改革涉及的電價(jià)問(wèn)題
-
電化學(xué)儲(chǔ)能應(yīng)用現(xiàn)狀及對(duì)策研究
2019-08-14電化學(xué)儲(chǔ)能應(yīng)用 -
《能源監(jiān)測(cè)與評(píng)價(jià)》——能源系統(tǒng)工程之預(yù)測(cè)和規(guī)劃
-
《能源監(jiān)測(cè)與評(píng)價(jià)》——能源系統(tǒng)工程之基本方法
-
貴州職稱論文發(fā)表選擇泛亞,論文發(fā)表有保障
2019-02-20貴州職稱論文發(fā)表 -
《電力設(shè)備管理》雜志首屆全國(guó)電力工業(yè) 特約專家征文
2019-01-05電力設(shè)備管理雜志 -
國(guó)內(nèi)首座蜂窩型集束煤倉(cāng)管理創(chuàng)新與實(shí)踐
-
人力資源和社會(huì)保障部:電線電纜制造工國(guó)家職業(yè)技能標(biāo)準(zhǔn)
-
人力資源和社會(huì)保障部:變壓器互感器制造工國(guó)家職業(yè)技能標(biāo)準(zhǔn)
-
《低壓微電網(wǎng)并網(wǎng)一體化裝置技術(shù)規(guī)范》T/CEC 150
2019-01-02低壓微電網(wǎng)技術(shù)規(guī)范
-
現(xiàn)貨模式下谷電用戶價(jià)值再評(píng)估
2020-10-10電力現(xiàn)貨市場(chǎng),電力交易,電力用戶 -
建議收藏 | 中國(guó)電價(jià)全景圖
2020-09-16電價(jià),全景圖,電力 -
一張圖讀懂我國(guó)銷售電價(jià)附加
2020-03-05銷售電價(jià)附加