亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        面向LabWindows/CVI的數(shù)據(jù)庫訪問技術(shù)研究

        2012-07-25 03:21:10
        微處理機(jī) 2012年1期
        關(guān)鍵詞:工具包數(shù)據(jù)源測控

        李 暉

        (中國航天科技集團(tuán)公司第四研究院第四十一研究所,燃燒、流動(dòng)和熱結(jié)構(gòu)國家級重點(diǎn)實(shí)驗(yàn)室,西安710025)

        1 引言

        LabWindows/CVI是美國NI公司(National Instruments Corporation)推出的一款功能強(qiáng)大的交互式C語言軟件開發(fā)平臺(tái),主要用于儀器控制、自動(dòng)測試、數(shù)據(jù)處理等應(yīng)用軟件開發(fā)。LabWindows/CVI的優(yōu)勢在于完全建立在ANSI C基礎(chǔ)之上,實(shí)現(xiàn)了功能強(qiáng)大、使用靈活的C語言平臺(tái)與用于數(shù)據(jù)采集、分析與顯示的測控專業(yè)工具的有機(jī)結(jié)合,其特有的交互式編程方法及豐富的功能面板和函數(shù)庫可以很方便地設(shè)計(jì)出非常友好的測控操作界面[1-2]。尤其是大型、復(fù)雜的測試軟件,使用LabWindows/CVI開發(fā)可以獲得優(yōu)良的測試性能[3]。

        CVI作為側(cè)重于測控軟件開發(fā)平臺(tái),不可避免地要和數(shù)據(jù)庫打交道,然而它自身卻始終沒有通過標(biāo)準(zhǔn)函數(shù)庫提供數(shù)據(jù)庫的操作函數(shù),也沒有在工具包中提供能夠訪問數(shù)據(jù)庫的驅(qū)動(dòng)器,也就是說CVI本身不具備訪問數(shù)據(jù)庫的功能。這也是CVI相對Visual C++、VB、Delphi等開發(fā)環(huán)境的一個(gè)弱項(xiàng)。雖然NI公司提供了獨(dú)立于CVI 開發(fā)平臺(tái)以外的專門用于和數(shù)據(jù)庫打交道的軟件工具包SQL Toolkit,但是價(jià)格較為昂貴。

        針對CVI較為薄弱的數(shù)據(jù)庫訪問功能,給出了到目前為止能夠?qū)崿F(xiàn)在CVI中訪問外部數(shù)據(jù)庫的方法,詳細(xì)闡述了 ADO、SQL Toolkit以及 DatabaseAssistant這三種方法在CVI環(huán)境下訪問數(shù)據(jù)庫的具體途徑,并通過實(shí)驗(yàn)對三種方法的數(shù)據(jù)庫訪問性能進(jìn)行了比較。

        2 數(shù)據(jù)庫訪問技術(shù)

        2.1 Microsoft ADO技術(shù)

        Microsoft開發(fā)了一系列基于Windows平臺(tái)的數(shù)據(jù)庫訪問技術(shù)。OLE DB是其早期開發(fā)的一套開放標(biāo)準(zhǔn),它基于COM(Component Object Model,組件對象模型)結(jié)構(gòu),對所有的數(shù)據(jù)文件提供了一個(gè)統(tǒng)一的接口,包括關(guān)系數(shù)據(jù)庫、非關(guān)系數(shù)據(jù)庫和其他文件系統(tǒng),是Microsoft針對所有數(shù)據(jù)庫提供的底層接口。

        后來Microsoft又在OLE DB基礎(chǔ)上開發(fā)了面向?qū)ο蟮臄?shù)據(jù)庫訪問技術(shù)ADO(ActiveX Data Objects,ActiveX數(shù)據(jù)對象)。ADO是完全建立在OLE DB模型之上的高層數(shù)據(jù)庫訪問技術(shù),它簡化了OLE DB的操作,定義了ADO對象,使得數(shù)據(jù)庫應(yīng)用程序的開發(fā)得到簡化[4]。ADO技術(shù)最大的特點(diǎn)是可以以Microsoft ActiveX控件的形式出現(xiàn),使得它可以應(yīng)用在多種軟件開發(fā)環(huán)境中,LabWindows/CVI 6.0之后的版本提供了對ActiveX自動(dòng)化和網(wǎng)絡(luò)的支持,使得在CVI環(huán)境下應(yīng)用ADO技術(shù)開發(fā)數(shù)據(jù)庫成為可能。

        在CVI中利用ADO技術(shù)訪問數(shù)據(jù)庫,首先要生成ActiveX自動(dòng)化儀器驅(qū)動(dòng)器,具體方法是:在主窗口的菜單欄中選擇“Tools”→“Create ActiveX Controller…”,LabWindows/CVI會(huì)自動(dòng)搜索注冊在操作系統(tǒng)中的所有自動(dòng)化服務(wù)器,搜索完成后彈出列表框會(huì)顯示所有 ActiveX自動(dòng)化服務(wù)器,選擇“Microsoft ActiveX Data Objects 2.8 Libra”后,點(diǎn)擊“Next”,按照開發(fā)向?qū)崾具M(jìn)行操作完成即可。完成后會(huì)在當(dāng)前項(xiàng)目目錄下生成五個(gè)文件:“ADODB.c”、“ADODB.h”、“ADODB.fp”、“ADODB.obj”、“ADODB.sub”,這五個(gè)文件就組成了CVI下ADO驅(qū)動(dòng)程序。

        以最一般的訪問一次數(shù)據(jù)庫為例,比如在Microsoft Acess數(shù)據(jù)庫中插入一條記錄,則利用ADO訪問數(shù)據(jù)庫程序流程如圖1所示。

        2.2 NI SQL Toolkit

        NI SQL Toolkit(簡稱Toolkit)是NI公司提供的獨(dú)立于CVI開發(fā)平臺(tái)以外的專門用來和數(shù)據(jù)庫打交道的軟件工具包,它遵從ODBC規(guī)范的數(shù)據(jù)庫技術(shù),其實(shí)也是提供了一族訪問數(shù)據(jù)庫的API供用戶調(diào)用。Toolkit有如下特點(diǎn):第一,其安裝完成后以CVI中的儀器驅(qū)動(dòng)器的形式出現(xiàn),提供了.fp、.lib、.dll、.h等文件,每個(gè)函數(shù)都有完善的函數(shù)面板并提供了詳細(xì)的函數(shù)說明,用戶調(diào)用很方便;第二,函數(shù)封裝比較好,減少了很多比較晦澀難懂的函數(shù),并給出了數(shù)據(jù)庫訪問時(shí)函數(shù)調(diào)用層次圖,一目了然;第三,Toolkit不但可以訪問ODBC數(shù)據(jù)源,也可以訪問任何遵從ADO標(biāo)準(zhǔn)的數(shù)據(jù)源,不過如果沒有特殊說明,SQL Toolkit默認(rèn)為ODBC數(shù)據(jù)源。

        圖1 ADO訪問數(shù)據(jù)庫程序流程圖

        在CVI中利用Toolkit訪問數(shù)據(jù)庫較為簡單,只要將相應(yīng)的.fp、.lib、.dll、.h等文件拷貝到工程目錄下,再將.fp、.lib、.h文件加載到工程中,就可以調(diào)用Toolkit提供的函數(shù)了。

        以在Microsoft Acess數(shù)據(jù)庫中插入一條記錄為例,利用Toolkit訪問數(shù)據(jù)庫的程序流程圖如圖2所示。

        2.3 DatabaseAssistant for CVI

        DatabaseAssistant(簡稱DAssistant)是一個(gè)數(shù)據(jù)庫訪問工具包,它是丁晨等研究人員開發(fā)的免費(fèi)軟件,其主要就是為LabWindows/CVI開發(fā)環(huán)境提供數(shù)據(jù)庫訪問功能,它也可應(yīng)用于支持C語言環(huán)境的其他軟件開發(fā)環(huán)境。其官方發(fā)布網(wǎng)站為www.vihome.com.cn。

        該工具包于2008年9月發(fā)布最初版本1.0 Beta1,目前的最新版本為2.06正式版,期間經(jīng)過十幾次版本升級。該工具包的開發(fā)和升級充分借鑒了SQL Toolkit,可以說幾乎繼承了SQL Toolkit的所有優(yōu)點(diǎn),而且數(shù)據(jù)庫訪問速度也比SQL Toolkit快,這個(gè)在后面的實(shí)驗(yàn)部分會(huì)給出說明。如今DAssistant的功能已經(jīng)非常完善,其本身可以支持多種數(shù)據(jù)庫。

        圖2 Toolkit訪問數(shù)據(jù)庫程序流程圖

        該工具包的使用需要系統(tǒng)安裝ODBC3.0及其以后的ODBC管理器,Windows98后的系統(tǒng)都自帶ODBC3.5,可在“控制面板-管理工具-ODBC數(shù)據(jù)源管理器”中查看版本。Windows系統(tǒng)提供以下數(shù)據(jù)庫的 ODBC驅(qū)動(dòng):Access(.mdb)、dBase(.dbf)、excel(.xls)、Paradox(.db),其他數(shù)據(jù)庫需要安裝相應(yīng)的ODBC驅(qū)動(dòng)才能使用。

        在CVI中利用DAssistant訪問數(shù)據(jù)庫的方法和Toolkit基本相同,只要將DatabaseAssistant.fp、DatabaseAssistant.lib、DatabaseAssistant.dll、DatabaseAssistant.h等文件拷貝到工程目錄下,將DatabaseAssistant.fp、DatabaseAssistant.lib、DatabaseAssistant.h文件加載到工程中,就可以調(diào)用DAssistant提供的函數(shù)了。

        還以在Microsoft Acess數(shù)據(jù)庫中插入一條記錄為例,利用DAssistant訪問數(shù)據(jù)庫的程序流程圖如圖3所示。

        3 實(shí)驗(yàn)結(jié)果與分析

        3.1 實(shí)驗(yàn)結(jié)果

        為了能更好地說明如何利用上述提到的三種方法在LabWindows/CVI中實(shí)現(xiàn)對外部數(shù)據(jù)庫的訪問以及它們之間訪問數(shù)據(jù)庫性能的差異,本節(jié)給出一個(gè)實(shí)例,實(shí)現(xiàn)如下功能:能夠分別使用ADO、Toolkit和DAssistant三種方法向一個(gè)Microsoft Access2003數(shù)據(jù)庫文件中的Demo數(shù)據(jù)表中連續(xù)寫入10000條相同的記錄,隨后更新這10000條相同的記錄,最后讀取并顯示更新后的10000條記錄,分別統(tǒng)計(jì)三種方法完成這些操作所花費(fèi)的時(shí)間。Demo數(shù)據(jù)表結(jié)構(gòu)及寫入和更新的記錄如表1所示。

        圖3 DAssistant訪問數(shù)據(jù)庫程序流程

        實(shí)驗(yàn)所使用的硬件平臺(tái)為DELL T3500臺(tái)式機(jī),CPU為Intel Xeon 2.40GHz,內(nèi)存3GB。操作系統(tǒng)為Windows XP SP3,開發(fā)環(huán)境為LabWindows/CVI 8.0。

        表1 Demo數(shù)據(jù)表結(jié)構(gòu)及寫入和更新的記錄

        程序界面設(shè)計(jì)及運(yùn)行結(jié)果如圖4所示。

        3.2 實(shí)驗(yàn)結(jié)果分析

        由圖4可以得到 DAssistant、Toolkit、ADO三種方法寫入、更新和讀取10000條記錄所花費(fèi)的時(shí)間如表2所示。需要說明的是,在不同計(jì)算機(jī)上三種方法訪問數(shù)據(jù)庫的速度會(huì)略有不同,但是三者之間的相對訪問速度不會(huì)改變,能夠反映它們訪問數(shù)據(jù)庫的性能差異??梢钥闯?,不管是寫入、更新還是讀取記錄,DAssistant方法的速度都是最快的,Toolkit次之,而ADO則最慢。至此,三種方法總體特征比較如下表3所示。

        表2 三種方法訪問數(shù)據(jù)庫耗時(shí)統(tǒng)計(jì)

        總的來講,三種方法中DAssistant的數(shù)據(jù)庫訪問性能最好,不但訪問速度最快,而且具有較為詳盡的軟件接口說明,代碼編寫也比較簡單。

        表3 三種方法總體特征比較表

        圖4 程序界面及運(yùn)行結(jié)果

        4 結(jié)束語

        LabWindows/CVI作為優(yōu)秀的測控軟件開發(fā)環(huán)境,卻始終沒有對數(shù)據(jù)庫提供很好的支持??偨Y(jié)并實(shí)現(xiàn)了到目前為止能夠在CVI環(huán)境下訪問外部數(shù)據(jù)庫的三種方法:Microsoft ADO、NI SQL Toolkit和DatabaseAssistant,詳細(xì)闡述了這三種方法在CVI環(huán)境下訪問數(shù)據(jù)庫的具體途徑,通過實(shí)驗(yàn)對三種方法的數(shù)據(jù)庫訪問性能進(jìn)行了比較,結(jié)果表明在CVI中DatabaseAssistant方法具有最好的數(shù)據(jù)庫訪問性能。

        [1] 王建新,楊世鳳,隋美麗.Lab Windows/CVI測試技術(shù)及工程應(yīng)用[M].北京:化學(xué)工業(yè)出版社,2006.

        [2] 李騰飛,張輝.基于Labwindows/CVI和Matlab的濾波器設(shè)計(jì)[J].電子技術(shù),2007(3):29-35.

        [3] 張鳳均.Lab Windows/CVI開發(fā)入門與進(jìn)階[M].北京:北京航空航天大學(xué)出版社,2001.

        [4] 黃吉濤,周倫彬.ADO數(shù)據(jù)庫訪問技術(shù)在LabWindows/CVI中的應(yīng)用[J].中國測控技術(shù),2007(3):102-104.

        猜你喜歡
        工具包數(shù)據(jù)源測控
        Epigallocatechin-3-gallate exerts antihypertensive effects and improves endothelial function in spontaneously hypertensive rats
        《測控電路》實(shí)踐教學(xué)改革探討
        電子測試(2018年22期)2018-12-19 05:12:58
        谷歌云與Digital Asset合作推出區(qū)塊鏈工具包
        Web 大數(shù)據(jù)系統(tǒng)數(shù)據(jù)源選擇*
        基于不同網(wǎng)絡(luò)數(shù)據(jù)源的期刊評價(jià)研究
        基于現(xiàn)代測控技術(shù)及其應(yīng)用分析
        運(yùn)用MATLAB軟件求解高中數(shù)學(xué)中的線性和非線性規(guī)劃問題
        科技視界(2016年21期)2016-10-17 19:09:05
        向著新航程進(jìn)發(fā)——遠(yuǎn)望7號測控船首航記錄
        太空探索(2016年12期)2016-07-18 11:13:43
        基于真值發(fā)現(xiàn)的沖突數(shù)據(jù)源質(zhì)量評價(jià)算法
        基于USB2.0協(xié)議的通用測控通信接口設(shè)計(jì)
        一区二区三区在线观看视频精品| 内射欧美老妇wbb| 亚洲精品午夜无码专区| 失禁大喷潮在线播放| 伊人婷婷色香五月综合缴激情| 少妇高潮紧爽免费观看| 青草草视频在线观看华人免费| 亚洲国产精品不卡av在线| 久久久久久亚洲av成人无码国产 | 亚洲自偷自拍另类第1页| 亚洲精品午夜无码专区| 人人狠狠综合久久亚洲婷婷| 日本熟妇中文字幕三级| 亚洲中文字幕乱码在线观看| 极品嫩模大尺度av在线播放| 亚洲裸男gv网站| 特级毛片a级毛片在线播放www | 色综合另类小说图片区| 国产天堂av手机在线| 粉嫩人妻91精品视色在线看| 国产老熟妇精品观看| 欧洲精品免费一区二区三区| 婷婷色综合成人成人网小说| 亚洲中文字幕诱惑第一页| 两人前一后地插着她丰满| 欧美猛少妇色xxxxx猛交| 亚洲精品无码不卡av| 中文字幕乱码人妻无码久久久1| 久久精品国产亚洲av热东京热| 久久精品国产亚洲av超清| 亚洲色国产欧美日韩| 亚洲国产精品久久久久秋霞1| 亚洲av粉色一区二区三区| 国产一区二区免费在线视频| 国产乱对白刺激视频| 无尽动漫性视频╳╳╳3d| 久久久久AV成人无码网站| 91精品国产综合久久精品密臀| 亚洲av永久无码天堂网| 久久精品无码专区免费青青| 国产视频不卡在线|